ast*_*ght 20 asp.net gridview hyperlink
我想输出可点击的新闻标题列表.到目前为止,我可以打印出标题列表,因为我在VS 2010的设计器视图中拖放了NewsHeadline表.您认为我应该如何使列表元素可点击?我找了一个URL属性,但我没有看到它.我需要包裹<a href吗?
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False"
DataSourceID="SqlDataSource1"
EmptyDataText="There are no data records to display.">
<Columns>
<asp:BoundField DataField="NewsHeadline" HeaderText="NewsHeadline"
SortExpression="NewsHeadline" />
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString1 %>"
ProviderName="<%$ ConnectionStrings:ConnectionString1.ProviderName %>"
SelectCommand="SELECT [NewsHeadline] FROM [NewsTable]"></asp:SqlDataSource>
</form>
Run Code Online (Sandbox Code Playgroud)
RSo*_*erg 31
您需要将列类型从BoundColumn更改为Hyperlink列.
<asp:hyperlinkfield headertext="NewsHeadline"
datatextfield="NewsHeadline"
datanavigateurlfield="NewsURL"
datanavigateurlformatstring="http://{0}" />
Run Code Online (Sandbox Code Playgroud)
除了进行此更改之外,您还需要确保选择URL或可用于创建新闻文章链接的内容.在上面的示例中,我假设您可以从SQL源中获取URL.如果它是一个ID,只需输入其余的网址就像这样......"〜/ MyNewsPage.aspx?NewsID = {0}"......
改为使用hyperlinkfield:
<asp:hyperlinkfield datatextfield="NewsHeadline"
datanavigateurlfields="NewsID"
datanavigateurlformatstring="~\newsdetails.aspx?Id={0}" />
Run Code Online (Sandbox Code Playgroud)