DataList中TextBox onfocus调用后台静态方法

昨天在某一论坛上看到一帖,URL:http://topic.csdn.net/u/20111114/15/27b7810b-9892-49b7-b155-1604684069a3.html 。Insus.NET尝试做了一下,算是练习了。

 

Insus.NET的测试演示:

 

xxx.aspx:

View Code
<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:

View Code
 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();
    }

 

posted @ 2011-11-15 13:26  Insus.NET  阅读(852)  评论(0编辑  收藏  举报