c# - 如何在 GridView 的 CommandArgument 中传递多个参数?

标签 c# asp.net

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

相关文章:

c# - MS Access 的 INSERT INTO 语句中的语法错误

c# - 如何发出委托(delegate)或 lambda 表达式

c# - 使用 XML 注释记录 C# 代码的最佳实践是什么?

c# - 在 Windows 中查询用户 session

c# - 如何检查 DataView.RowFilter 中的空白

asp.net - 您可以将 HTML 5 与 ASP.NET 4 和 Visual Studio 2010 一起使用吗?

asp.net - Asp.Net 4 Web 表单中 Ajax Url 到路由 WCF

c# - ASP.NET Core - 尝试使用 HealthChecks 时出错

c# - 将 List<string> 转换为 byte[]

.net - LinqToSql 在不同机器上为相同代码生成不同的 Sql 查询