当前位置:首页 > ASP教程 > ASP类

带有两个asp:Command列的GridView控件,使用同一命令

我有一个带有两个asp:CommandField列的ASP.NET GridView控件,它们都使用Select命令执行不同的任务.当我检查GridViewCommandEventArgs对象的CommandName属性都返回“ Select”时,如何区分OnRowCommand事件中选择的列?

这是我的源代码:

ASPX页面:

<asp:GridView ID="MyGridView" runat="server" AutoGenerateColumns="false" OnRowCommand="MyGridView_OnRowCommand">
    <Columns>
        <asp:CommandField ButtonType="Link" ShowSelectButton="true" SelectText="Click Me!" />
        <asp:CommandField ButtonType="Link" ShowSelectButton="true" SelectText="No Click Me!" />
    </Columns>
</asp:GridView>

后面的代码:

protected void MyGridView_OnRowCommand(object sender, GridViewCommandEventArgs e)
{
    string x = e.CommandName //returns "Select" for both asp:CommandField columns
}   

解决方法:

而是使用按钮列,这样您可以指定特定的命令名称并从那里使用它

<asp:ButtonField ButtonType="Link" Text="Click Me" CommandName="MyCommand1" />
<asp:ButtonField ButtonType="Link" Text="No Click Me" CommandName="MyCommand2" />

然后您可以根据e.CommandName采取措施


【说明】本文章由站长整理发布,文章内容不代表本站观点,如文中有侵权行为,请与本站客服联系(QQ:254677821)!