我正在研究 asp.net GridView 控件。现在我需要编辑一些行数据。为此,我使用了这段代码:
<asp:LinkButton ID="btnEdit" Text="Edit" runat="server" CommandName="QuickEdit" OnClick="btnEdit_Click"
CommandArgument ='<%# ((CheckBox)(((GridViewRow) Container).Cells[4].Controls[0])).Checked %>'/>
btnEdit_Click
方法是:
protected void btnEdit_Click(object sender,EventArgs e)
{
LinkButton btn = (LinkButton)sender;
switch (btn.CommandName)
{
case "QuickEdit":
EditPanel.Visible = true;
GridPanel.Visible = false;
CheckBox cbRequiresState = (CheckBox)EditPanel.FindControl("checkRequiresState");
if (btn.CommandArgument =="True")
{
cbRequiresState.Checked = true;
}
else
{
cbRequiresState.Checked = false;
}
break;
}
}
现在,我需要将多个参数作为 CommandArgument
传递给 btnEdit_Click
方法。为此我需要做什么?
请建议我在该方法中利用这些参数的好方法。
最佳答案
这是一个例子:
在您的 aspx 代码中:
<asp:ImageButton ID="btnSelect" runat="server" ImageUrl="~/Images/btnSelect.png" CommandName="Select" CommandArgument='<%# Container.DataItemIndex +";"+Eval("ID") %>' ToolTip="select" CausesValidation="False" /></ItemTemplate>
在你后面的代码中:
string info = e.CommandArgument.ToString();
string[] arg = new string[2];
char[] splitter = { ';' };
arg = info.Split(splitter);
关于c# - 如何在 GridView 的 CommandArgument 中传递多个参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14276362/