<%#Eval(“”)%> in href前缀aspx页面中的相对路径

时间:2014-06-14 04:32:35

标签: asp.net anchor eval relative-path

我有一个.aspx,其中有一个锚标记,其href属性由服务器端代码设置,即DataTable

我的网站网址是:[xxx / Pages / Home.aspx]并假设来自DataTable的href绑定http://www.google.com,然后链接重定向到[xxx / Pages / http // www。谷歌而不是http://www.google.com。不知何故,它以页面的相对网址为前缀。

我的ascx文件是:

<table cellpadding="0" cellspacing="0" border="0">
    <tr>
        <td>
            <asp:ListView ID="Feed" runat="server">
                <ItemTemplate>
                    <div class="Main">
                        <div class="Ttile">                                                     
                            <a href="<%# Eval("Link") %>" target="_blank" title="<%# Eval("Title") %>" ><%# Eval("Title") %></a>                           
                        </div>                          
        </td>
    </tr>
</table>

我想在用户点击链接时将用户重定向到http://www.google.com,但锚标记重定向到http://xxx/Pages/http//www.google.com

如果我将<%# Eval("Link") %>放在锚标记之外,则会显示正确的网址:http://www.google.com。它意味着&#34; Link&#34;专栏是完美的

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

尝试这个

 <%# RemoveServerUri(Convert.ToString(DataBinder.Eval(Container.DataItem, "Link")))

<强> C#

           public string RemoveServerUri(string link)
    {
            link = link.Replace("xxx/Pages/", "");
            return link;
    }