我遇到这种情况:我在页面上显示了很多来自数据库的行。只是创建动态线条(<% foreach (res in DBVar) %>
)。每一行都有一个按钮。每个按钮只使用1个OnClick方法。我真的不关心这些按钮的名称(值),但我不能接受,我如何从.aspx页面传递参数(例如,来自DB(res.ID
)的行的ID)到OnClick方法。 (使用LINQ to SQL)
我试图将我的参数带到带有“<input type="button" value="<%= "string"+DBVar.ID%>
”的按钮的名称(值),依此类推。 runat = server甚至不能把这个变量放在我只使用输入法的名称(值)coz上。
答案 0 :(得分:8)
使用OnCommand事件并分配CommandArgument
<asp:Button ID="Button1" runat="server" Text="Submit" CommandArgument='<%= res.ID %>' OnCommand="Button1_Click" />
中的代码
protected void Button1_Click(Object sender, CommandEventArgs e)
{
string ID=e.CommandArgument.ToString();
}
答案 1 :(得分:3)
在绑定期间设置按钮的CommandName和CommandArgument,并在onclick事件中将其读回。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.commandname.aspx
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.commandargument.aspx
答案 2 :(得分:3)