我有一个带有两个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)!