将URL的主机与ItemTemplate中的其他项连接为锚点



我有一个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>

最新更新