#asp.net #vb.net
#asp.net #vb.net
Вопрос:
Я знаю, что это, вероятно, действительно легко, но когда я делаю это:
<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 бла», то он пытается перейти к www.mysite.com/www.facebook.com/bla бла
Поэтому я попробовал следующее, но URL-адрес браузера изменился на about:blank#blocked
If Not hypGift1.NavigateUrl.Contains("http") Then hypGiftURL.NavigateUrl = "https://" amp; hypGiftURL.NavigateUrl
Комментарии:
1. The
~
означает корень.2. Да, я пытался добавить ~/, но это не сработало
3. Я имел в виду, что ты должен его убрать.
4. Ах, забыл, что это все еще было там после тестирования. Я удалил его, и если сохраненный URL-адрес, скажем facebook.com тогда все работает нормально. Если это www.facebook.com затем он переходит к www.mysite.com/www.facebook.com
Ответ №1:
Ах, разобрались. Я добавил //, где http не существовал в URL-адресе, подобном этому..
If Not hypGiftURL.NavigateUrl.Contains("http") Then hypGiftURL.NavigateUrl = "//" amp; hypGiftURL.NavigateUrl
Комментарии:
1. Вы, вероятно, хотите использовать
StartsWith
вместоContains
.