【问题标题】:How to bind data to linkbutton without interfering with other boundfields?如何在不干扰其他绑定字段的情况下将数据绑定到链接按钮?
【发布时间】:2015-07-23 04:39:30
【问题描述】:

页面中的网格视图很少。第一个 gridview 是可编辑的,第二个不是。第一个 gridview 有一列有一个超链接(链接按钮)。第二个表应该基于上述超链接的点击事件加载。这就像期望超链接表现得像一个按钮。这个可以吗?

为了尝试,我不知道从哪里开始。我向第一个 gridview 列添加了一个超链接。但是为 NavigationURL 设置什么对我来说是个疑问。

超链接控件中只有少数事件。

这些似乎都不能满足我的需要。任何教程都很有价值。

更新: 网格标记代码

<div id="schedule">
    <asp:GridView ID="gvSchedule" 
        runat="server" AutoGenerateColumns="false" 
        CssClass="Grid" 
        DataKeyNames="Employee ID, WOY, Location" 
        ShowHeader="false" 
        RowStyle-CssClass="rowstyle"
        onrowdatabound="gvSchedule_RowDataBound">
    <Columns>
 <asp:BoundField HeaderText="Staff" 
     DataField="E_Name" SortExpression="E_Name"  
     ItemStyle-Width="113" />
    </Columns>

    </asp:GridView>
    <br />
</div>

根据this solution here尝试了一个链接按钮

<asp:TemplateField HeaderText="StaffClick" SortExpression="STOCK NO" ItemStyle-Width="50">
        <ItemTemplate>
           <asp:LinkButton ID="lblStaff" runat="server">Click</asp:LinkButton>
        </ItemTemplate>
        <HeaderStyle BackColor="Black" ForeColor="White" HorizontalAlign="Left"/>
        <ItemStyle HorizontalAlign="Left" />
        </asp:TemplateField>

使用此代码后,现在所有带有复选框的字段都没有加载行绑定事件。

【问题讨论】:

  • 这真的取决于您如何启动 GridView。请在此处发布网格标记代码,我将为您提供更多指导。
  • 如果您需要锚点来充当按钮,请使用 LinkBut​​ton。
  • @AdrianIftode 添加了标记。这并不多。只是简单的 Asp.Net 和一个 css。如何以绑定数据的方式使用链接按钮?

标签: c# asp.net gridview hyperlink asplinkbutton


【解决方案1】:

在您的 GridView 中放置一个 LinkBut​​ton,并使用“RowCommand”操作来设置应该发生的事情。一旦点击链接,就会调度一个名为 RowCommand 的事件。您可以在服务器端处理任何需要发生的事情。

CommandArgument 可以是您想要传递给服务器端函数的任何内容。

这是一个例子:

 <asp:Button ID="btnViewmore"  
        CommandArgument="<%# ((GridViewRow) Container).RowIndex %>
        " CommandName="More" runat="server" Text="View More" />

在服务器端你可以这样做(C#):

protected void gridMembersList_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "More")
    {
        int index = Convert.ToInt32(e.CommandArgument.ToString());
        // do something with your command and commandargument, like for instance, update the second gridview
    }
}  

【讨论】:

  • 还有哪些绑定字段?您只有 LinkBut​​ton。不过,它的标记似乎很好。
  • 在标记中我只显示了链接按钮。有很多控件:模板字段,绑定字段。 It's quite intuitive when OP says there are boundfields.
  • 我的意思是我在你的代码中看不到任何可能给你带来问题的东西。你能发布更多代码吗?
猜你喜欢
  • 2011-02-12
  • 1970-01-01
  • 2022-12-18
  • 2018-02-26
  • 2012-11-30
  • 2012-12-09
  • 1970-01-01
  • 1970-01-01
  • 2016-05-04
相关资源
最近更新 更多