我需要使用中继器控件将参数从前端传递到后端我的前端代码:
<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() %>