我正在研究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);