【问题标题】:How to add hyperlink to boundfield in gridview c# asp.net如何在gridview c#asp.net中添加超链接到boundfield
【发布时间】:2014-02-10 03:47:45
【问题描述】:

我在 aspx 页面中有一个 gridview,一旦用户单击 Component1 值,我需要它从 BoundField 添加到组件的超链接。如何将超链接添加到与 BoundField 相关的 boundfield?

<asp:GridView ID="Module" runat="server" AutoGenerateColumns="False" BackColor="White"
        BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4"
        DataSourceID="dsrcGetModuleData" Font-Size="0.65em" ForeColor="Black" GridLines="Vertical" DataKeyNames="TestID">
        <FooterStyle BackColor="#CCCC99" />
        <Columns>

<asp:BoundField DataField="Component1"  ItemStyle-Font-Size="Small" HeaderStyle-Width="80px"  HeaderStyle-Font-Size ="Medium" SortExpression="Component1"   /> 

</Columns>
        <RowStyle BackColor="#F7F7DE" />
        <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right"  />
        <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
        <AlternatingRowStyle BackColor="White"  />
    </asp:GridView>

【问题讨论】:

    标签: c# asp.net gridview hyperlink boundfield


    【解决方案1】:

    试试这个。

     <asp:GridView ID="Module" runat="server" AutoGenerateColumns="False" BackColor="White"
        BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4"
        DataSourceID="dsrcGetModuleData" Font-Size="0.65em" ForeColor="Black" GridLines="Vertical" DataKeyNames="TestID">
        <FooterStyle BackColor="#CCCC99" />
     <Columns>
      <asp:HyperLinkField DataNavigateUrlFields="StockNumber" HeaderText="Stock Number" DataNavigateUrlFormatString="ReplacePage.aspx?StockNumber={0}" DataTextField="StockNumber" />
     </Columns>
     <RowStyle BackColor="#F7F7DE" />
        <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right"  />
        <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
        <AlternatingRowStyle BackColor="White"  />
     </asp:GridView>
    

    要传递多个变量,请执行此操作。

     <asp:GridView ID="Module" runat="server" AutoGenerateColumns="False" BackColor="White"
        BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4"
        DataSourceID="dsrcGetModuleData" Font-Size="0.65em" ForeColor="Black" GridLines="Vertical" DataKeyNames="TestID">
        <FooterStyle BackColor="#CCCC99" />
     <Columns>
      <asp:HyperLinkField DataNavigateUrlFields="StockNumber, ID, CITY" HeaderText="Stock Number" DataNavigateUrlFormatString="ReplacePage.aspx?StockNumber={0}&id={1}&CITY{2}" DataTextField="StockNumber" />
     </Columns>
     <RowStyle BackColor="#F7F7DE" />
        <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right"  />
        <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
        <AlternatingRowStyle BackColor="White"  />
     </asp:GridView>
    

    DataNavigateUrlFields - 您希望使用超链接列传递的字段。

    DataTextField - DatagridView 中的当前显示字段。

    HeaderText - 标题文本,应该是 DataTextField 值的描述。

    【讨论】:

    • 谢谢,@DannielLittle 很高兴它帮助了你。 :)
    • 谢谢,帮了大忙!
    【解决方案2】:

    您将无法在绑定字段中使用链接按钮。但是,您可以将其转换为 TemplateField。这是我的 LinkBut​​ton 的示例。

    <asp:TemplateField HeaderText="StockNumber" SortExpression="STOCK NO">
          <ItemTemplate>
               <asp:LinkButton ID="lbStockNumber" runat="server" Text='<%# Bind("StockNumber") %>' OnClick="lbStockNumber_Click"></asp:LinkButton>
          </ItemTemplate>
          <HeaderStyle BackColor="Black" ForeColor="White" HorizontalAlign="Left" Width="80px" />
          <ItemStyle HorizontalAlign="Left" />
    </asp:TemplateField>
    

    将其转换为 TemplateField。确保您在设计视图中。然后点击智能标签。编辑列,选择您的列,然后在属性下方单击“转换为模板字段”

    编辑:我刚刚注意到您想要一个超链接而不是链接按钮。您仍将使用相同的方式对其进行转换,但只需放置一个 HyperLink。

    <asp:HyperLink ID="hlStockNumber" runat="server" Text='<%# Bind("StockNumber") %>' OnClick="lbStockNumber_Click"></asp:HyperLink> 
    

    希望这会有所帮助!

    【讨论】:

    • 哦,我明白了。我会尝试一下。泰。
    • 以上是您要找的吗?
    • 实际上,我得到了以下语句。但你的也有帮助。
    猜你喜欢
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    • 2014-05-13
    • 1970-01-01
    • 1970-01-01
    • 2019-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多