日期:2014-05-18  浏览次数:20944 次

C# 服务器控件 的CommandArgument属性 为什么绑定不了值?
C# code

<body>
    <form id="form1" runat="server">
    <div>
    <%
        int i = 10;
        for (int j = 0; j < i; j++)
        {
            %>
                <%=j %>
                <asp:LinkButton ID="lkbtn" runat="server" Text="删除" 
            CommandArgument="<%=j %>" onclick="lkbtn_Click"></asp:LinkButton>
                <hr />
            <%
        }
    %>
    </div>
    <asp:TextBox ID="txt" runat="server"></asp:TextBox>
    </form>
</body>

    protected void lkbtn_Click(object sender, EventArgs e)
    {
        string str = (sender as LinkButton).CommandArgument;
        txt.Text = str;
    }




这个是怎么个问题呢? 获取的值 是 <%=j %> 我就不是明白了。为什么会这样呢???

服务器控件 LinkButton 的 CommandArgument 属性绑定 <%=j %> 。而变成了 直接给 CommandArgument 赋值了<%=j %>

不管是 "" 或 '' 都是一样的情况。我想 点击删除按纽 执行删除操作 如何才能获取到 j 值呢?请大虾多多指教。

















------解决方案--------------------
服务器控件不能嵌套在aspx代码的for循环里面的。


------解决方案--------------------
你直接进行GridView的绑定就可以了啊。为什么进行循环呢??
------解决方案--------------------
在graidview的bound事件中把模板列的这个CommandArgument赋值之后command事件中就可以用了。。