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



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

<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不是在一个正确的格式。,在调试模型中的值只是一串字符串:<%Eval("id"). tostring() %>,而不是它的id值。

任何想法?

试试这个,而不是你的其他eval:

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

最新更新