ASP.NET转发器控件:如何将参数从前端传递到转发器ItemCommand事件

时间:2011-08-30 21:08:54

标签: asp.net repeater

我需要使用转发器控件将参数从前端传递到后端 我的前端代码:

<asp:Repeater ID="Repeater1" runat="server" 
            onitemdatabound="Repeater1_ItemDataBound" 
            onitemcommand="Repeater1_ItemCommand">
....
<asp:Button ID="btn_Reply" runat="server" Text="Reply" CommandName="Reply" CommandArgument='<%Eval("id").ToString() %>'/>
....
</asp:Repeater>

后端的Repeater1_ItemCommand事件:

protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
    switch (e.CommandName)
    {
        case "Reply":
            ReplyThread(Convert.ToInt32(e.CommandArgument));
            break;
        case "Edit":
            EditThread(Convert.ToInt32(e.CommandArgument));
            break;
        case "Delete":
            DeleteThread(Convert.ToInt32(e.CommandArgument));
            break;
    }
}

当点击回复按钮时,为什么说e.CommandArgument的格式不正确。调试模型中的值只是一串字符串:&lt;%Eval(“id”)。ToString()%&gt; ,不是它的id值。

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

试试这个而不是你的其他评估:

<%# Eval("id").ToString() %>