繁体   English   中英

将超链接添加到gridview

[英]add hyperlink to a gridview

我正在使用C#和asp.net创建一个网页,我有一个简单的sqlite数据库。 我有一个gridview,在这里我只显示简单的2本书类别。 这两个类别是小说技术

我想为这些类别分配一个链接,以便可以将用户定向到新页面。

这是在gridview中显示的数据的快照。我想在其中添加指向小说和技术的链接以重定向到新页面。 在此处输入图片说明 这是我的数据集和gridview。

 DataSet dsgrid;
 dsgrid = (DataSet)Cache["GridViewDataSet"];
 if (dsgrid == null)
 {
 dsgrid = GetDataSet();  //call function
 Cache["GridViewDataSet"] = dsgrid;

 }
 else
 {

 }
 //bind our cache data to a datasource
 GridView1.DataSource = dsgrid.Tables[0];
 GridView1.DataBind();
 }
 catch (Exception ex)
 {
 this.lblError.Text = ex.Message;
 }

 }

 private DataSet GetDataSet()
 {

        String connectionString = "Data Source=" + Server.MapPath(@"~\App_Data\bookDB.db");
        String selectCommand = "Select * from Category";
        SQLiteDataAdapter dataAdapter = new SQLiteDataAdapter(selectCommand, connectionString);

        DataSet ds = new DataSet();
        dataAdapter.Fill(ds);

        //GridView1.DataSource = ds;
       // GridView1.DataBind();

        return ds;

    }

谢谢

这里有一些选项,您选择哪种取决于您所需的灵活性。

内置按钮列:

    <asp:GridView >
        <Columns>
            <asp:ButtonColumn DataField="some_field" Visible="false" ButtonType="linkButton" />         
        </Columns>
    /<asp:GridView >

列模板:(这将为您提供最大的灵活性。)

<asp:GridView>
    <Columns>
        <asp:TemplateField HeaderText="Its a link!">
            <ItemTemplate>
                <asp:LinkButton ID="SomeName" runat="server" Text=''>
            </asp:LinkButton>
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView> 

请享用!

这是标记代码,您必须向IntemTempalte集合内的gridview控件添加超链接,并向包含的控件的text属性添加绑定表达式

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="128px">
        <Columns>
        <asp:TemplateField HeaderText="Code">
        <ItemTemplate>
        <asp:Label ID="lblCodigo" runat="server" Text='<%#Eval("columnNae")%>'></asp:Label>
        </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField HeaderText="Name">
        <ItemTemplate>
       <asp:HyperLink ID="link" runat="server" Text='<%#Eval("columnNae") %>' NavigateUrl="http://nudierweb.somee.com"></asp:HyperLink>
        </ItemTemplate>
        </asp:TemplateField>

        </Columns>
    </asp:GridView>

您需要使用HyperLinc控件

<asp:HyperLink id="hyperlink1" NavigateUrl="http://www.yournavigateurl.com"
              Text="Your Hyperlink text" runat="server"/>

这样尝试

<asp:HyperLinkField DataTextField="Value of column you want to make as HYPERLINK" HeaderText="COLUMN NAME" runat="server" DataNavigateUrlFields="Value you want to pass to other page(fname)" DataNavigateUrlFormatString="~/demo.aspx(another page name)?fname**strong text**={0}"/>

例如:

<asp:HyperLinkField DataTextField="stid" HeaderText="stid" Target="_self" runat="server" DataNavigateUrlFields="fname" DataNavigateUrlFormatString="~/demo.aspx?fname={0}"/>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM