我正在尝试在GridView的TemplateField中使用asp:HyperLinkField,但是当在TemplateField内部使用HyperASPField时,ASP无法识别它。它似乎只能识别asp:HyperLink。我正在设置一个条件,如果数据库返回一个空值“”,则显示不带超链接的“ NA”,否则它将显示HyperLink。这是代码:
<div class="examples">
<div class="container">
<div class="box"></div>
<div class="box"></div>
</div>
<div class="container">
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</div>
<div class="container">
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
<div class="box"></div>
</div>
</div>
我尝试使用HyperLink尝试此操作,它可以工作,但实际上并不从数据库返回数据,它实际上在我的列中返回了文本“ http:// {0}”。我假设这是因为我使用的是“文本”而不是“ NavigateUrl”,但是当使用后者时,根本不会显示任何数据。
<asp:TemplateField HeaderText="My Header">
<ItemTemplate>
<asp:HyperLinkField runat="server" DataTextField="Contracts" datanavigateurlfields="Contracts" DataNavigateUrlFormatString='<%# Convert.ToString(Eval("Contracts")) == "" ? "NA" : "http://{0}" %>'></asp:HyperLinkField>
</ItemTemplate>
</asp:TemplateField>