【问题标题】:NavigateUrl directing to root instead of external websiteNavigateUrl 指向根目录而不是外部网站
【发布时间】:2021-01-11 20:46:27
【问题描述】:

我知道这可能真的很容易,但是当我这样做时:

<asp:TemplateField ShowHeader="False">
    <ItemTemplate>
        <asp:HyperLink ID="hypGift1" runat="server" visible="true" NavigateUrl='<%# Eval("facebook") %>'><asp:Image ID="imgGift1" runat="server" width="55px" ImageUrl="~/files/images/icons/faceyProfile.png" /></asp:HyperLink>
    </ItemTemplate>
</asp:TemplateField>

如果Eval("facebook") 是“www.facebook.com/bla bla”,那么它会尝试转到www.mysite.com/www.facebook.com/blabla

因此我尝试了以下但浏览器 url 更改为 about:blank#blocked

If Not hypGift1.NavigateUrl.Contains("http") Then hypGiftURL.NavigateUrl = "https://" & hypGiftURL.NavigateUrl

【问题讨论】:

  • ~ 代表根。
  • 是的,我尝试添加 ~/ 但它不起作用
  • 我的意思是让你删除它。
  • 啊,忘了那个还在测试中。我已经把它拿出来了,如果存储的 url 是 facebook.com 那么它工作正常。如果是 www.facebook.com,那么它会转到 www.mysite.com/www.facebook.com

标签: asp.net vb.net


【解决方案1】:

啊排序。我添加了 // 像这样在 URL 中不存在 http 的地方..

If Not hypGiftURL.NavigateUrl.Contains("http") Then hypGiftURL.NavigateUrl = "//" & hypGiftURL.NavigateUrl

【讨论】:

  • 您可能想使用StartsWith 而不是Contains
猜你喜欢
  • 2020-11-03
  • 2014-10-30
  • 1970-01-01
  • 1970-01-01
  • 2014-06-28
  • 2013-09-12
  • 1970-01-01
  • 1970-01-01
  • 2017-10-27
相关资源
最近更新 更多