3

我正在研究 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方法传递多个参数。为此我需要做什么?请建议我在该方法中利用这些论点的好方法。

4

3 回答 3

5

here is an example :

in your aspx code :

<asp:ImageButton ID="btnSelect" runat="server" ImageUrl="~/Images/btnSelect.png" CommandName="Select" CommandArgument='<%# Container.DataItemIndex +";"+Eval("ID") %>' ToolTip="select" CausesValidation="False" /></ItemTemplate>

and in your code behind :

    string info = e.CommandArgument.ToString();
    string[] arg = new string[2];
    char[] splitter = { ';' };
    arg = info.Split(splitter);
于 2013-01-11T10:50:23.040 回答
2

您可以使用字符串并通过;或其他字符分隔值。

于 2013-01-11T10:41:24.880 回答
0

因为CommandArgument是一个简单的字符串,所以将要传递给事件的参数连接起来,在其中放置某种分隔符。

然后btnEdit_Click按分隔符拆分值。

注意:选择分隔符,使其不是包含在传递给事件的任何参数中的字符。

于 2013-01-11T10:47:33.797 回答