单击标签时触发Gridview OnRowCommand

本文关键字:Gridview OnRowCommand 标签 单击 | 更新日期: 2023-09-27 18:17:03

当我点击GridView的标签时,我很难执行RowCommand。

这是我的gridview代码。

<asp:GridView ID="JobsGridView" runat="server" OnRowCommand="JobsGridView_RowCommand" EmptyDataText="No builds found" HeaderStyle-CssClass="HeaderColors" AutoGenerateColumns="False" ShowHeader="false">
  <Columns>
     <asp:ButtonField Text='SingleClick' CommandName="SingleClick" Visible="False"/>
     <asp:TemplateField>
         <ItemTemplate>
             <asp:Label ID="JobIdLabel" runat="server" Text='<%# Bind("BrokenProject") %>' ></asp:Label>
         </ItemTemplate>
     </asp:TemplateField>
   </Columns>
 <RowStyle Width="100%" CssClass=""></RowStyle>
</asp:GridView>

当我点击标签时,如何才能调用JobsGridView_RowCommand函数?如果我让buttonfield可见,我可以看到旁边的按钮说SingleClick它也会调用这个函数,但我不想要这个额外的按钮。我只是想点击列表上的名字,然后发生一些事情。

我知道这似乎很愚蠢,期望点击标签做任何事情,但似乎没有事件的标签,我一直在看一些类似的代码,他们做这样的事情…

单击标签时触发Gridview OnRowCommand

你可以用LinkButton代替。

<asp:LinkButton ID="JobIdLink" runat="server"
    CommandName="SomeCommand"
    Text='<%# Bind("BrokenProject") %>' >
</asp:LinkButton>

你甚至可以让它看起来不那么像一个链接,而更像一个标签。

a:link
{ 
    color: black; 
    text-decoration: none;
}
a:visited
{ 
    color: black; 
    text-decoration: none;
}
a:hover
{
    color: black; 
    text-decoration: none;
} 

除非您想编写Javascript来处理点击,否则您将需要一个能够向服务器发送的控件,就像Andrei提到的那样。输入(例如按钮)和超链接可以做到这一点。