DataList中TextBox onfocus调用后台void静态方法及获取

DataList中我放了一个TextBox 现在的问题是当我光标放到TextBox上的时候。如果让onfocus调用后台某一个void静态方法并且在静态方法里边获取光标相应的DataList的相应行数,本文介绍如何实现,感兴趣的朋友可以了解下

昨天在某一论坛上看到的。Insus.NET尝试做了一下,算是练习了。

DataList中TextBox onfocus调用后台void静态方法及获取

Insus.NET的测试演示:

DataList中TextBox onfocus调用后台void静态方法及获取

xxx.aspx: 

复制代码 代码如下:


<asp:DataList runat="server" CellPadding="0" CellSpacing="0"
OnItemDataBound="dlItemGeneral_ItemDataBound">
<ItemTemplate>
<asp:Table runat="server" CssClass="table">
<asp:TableRow>
<asp:TableCell CssClass="tableTemplateCell">
物料编码 <%# Eval("ItemCode") %>
</asp:TableCell>
<asp:TableCell CssClass="tableCell">
<asp:TextBox runat="server"></asp:TextBox>
</asp:TableCell>
<asp:TableCell CssClass="tableCell">
</asp:TableCell>
</asp:TableRow>
</asp:Table>
</ItemTemplate>
</asp:DataList>


xxx.aspx.cs:

复制代码 代码如下:


protected void dlItemGeneral_ItemDataBound(object sender, DataListItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
if (e.Item.FindControl("TextBox1") != null)
{
TextBox textBox = e.Item.FindControl("TextBox1") as TextBox;
textBox.Attributes.Add("OnFocus", "alert('" + GetRowNumber(e) + "'); this.value='" + GetTextBox(e) + "';");
}
}
}
private static string GetRowNumber(DataListItemEventArgs e)
{
return "当前行号为" + (e.Item.ItemIndex + 1).ToString();
}
private static string GetTextBox(DataListItemEventArgs e)
{
return "这是从静态方法获取值和当前行索引值为:" + e.Item.ItemIndex.ToString();
}

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjdgxg.html