我有一个ASP.NET gridview控件,它带有一个作为锚标记的自定义列,并且我在设置URL时遇到了一些问题。
根据我在下面构建的内容,我希望HREF会显示为"myhost.local/Orders/FileName.PDF",但我看到的是"myhost.local/currentdirectory/currentpage/myhost.local/Orders/FameName.PDF"。如有任何帮助,我们将不胜感激!
网格视图
<asp:GridView ClientID="GV" AllowPaging="true" OnPageIndexChanging="gv_Search_PageIndexChanging" PageSize="10" ID="gv_Search" AutoGenerateColumns="false" runat="server">
<Columns>
<asp:TemplateField HeaderText="Disciplinary Orders" SortExpression="defendant_name">
<ItemTemplate>
<a href="<%# HttpContext.Current.Request.Url.Host %>/Orders<%# Eval("FileName") %> " target="_blank">
<%# Eval("FullName") %> - <%# Eval("CaseNumber") %> - Get Disciplinary Status </a>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
我能够通过更改为ASP HyperLink并使用String.Format()
来获得正确的URL
<ItemTemplate>
<asp:HyperLink
runat="server"
id="link"
NavigateUrl='<%#String.Format("{0}", "/Orders/" + Eval("FileName")) %>'
Target="_blank">
<%# Eval("FullName") + " - " + Eval("CaseNumber") %> - Get Disciplinary Status
</asp:HyperLink>
</ItemTemplate>