欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2024-03-04 12:43:29
昨天在某一论坛上看到的。insus.net尝试做了一下,算是练习了。 insus.net的测试演示: xxx.aspx: 复制代码 代码如下:<...

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

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

insus.net的测试演示:

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

xxx.aspx: 

复制代码 代码如下:

<asp:datalist id="dlitemgeneral" runat="server" cellpadding="0" cellspacing="0" width="100%"
onitemdatabound="dlitemgeneral_itemdatabound">
<itemtemplate>
<asp:table id="table1" runat="server" cssclass="table">
<asp:tablerow>
<asp:tablecell cssclass="tabletemplatecell" width="15%">
物料编码 <%# eval("itemcode") %>
</asp:tablecell>
<asp:tablecell cssclass="tablecell" width="30%">
<asp:textbox id="textbox1" runat="server"></asp:textbox>
</asp:tablecell>
<asp:tablecell cssclass="tablecell" width="55%">
</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();
}