DataList中TextBox onfocus调用后台void静态方法及获取相应行数
程序员文章站
2024-03-04 12:43:29
昨天在某一论坛上看到的。insus.net尝试做了一下,算是练习了。
insus.net的测试演示:
xxx.aspx: 复制代码 代码如下:<...
昨天在某一论坛上看到的。insus.net尝试做了一下,算是练习了。
insus.net的测试演示:
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();
}