#c# #asp.net
#c# #asp.net
Вопрос:
Мне нужно перейти из существующего местоположения в какое-либо другое местоположение. Например, если мое приложение запущено на localhost, и я хочу перейти на Youtube. Сценарий:
У меня есть сетка, в которой полем шаблона является asp: гиперссылка. Мне нужно добавить изображение, и, нажав на это изображение, я перейду на youtube.
<a id="Download" href='<%#ResolveUrl(Eval("Path").ToString()) %>'
title="Download>>" style="color: #FFFFFF; font-size: 9pt">
<img src="~/images/dl.gif" style="border:0px; height:22px; width:22px"
alt="Download" runat="server"/></a>
<asp:HyperLink runat="server" ID="HyperLink1"
NavigateUrl='<%# ResolveUrl(Eval("YouTubeUrl").ToString()) %>'>
<img src="~/images/yt.gif" style="border:0px; height:22px; width:22px"
alt="Play on You tube" runat="server" /></asp:HyperLink>
Я хочу перейти в какое-то другое местоположение за пределами текущего местоположения из текущего местоположения.
Комментарии:
1. это дает URL что-то вроде этого localhost/abc.aspx/www.youtube.com
Ответ №1:
Используйте это
<a id="Download" href='<%#ResolveUrl(Eval("Path").ToString()) %>'
title="Download>>" style="color: #FFFFFF; font-size: 9pt">
<img src="~/images/dl.gif" style="border:0px; height:22px; width:22px"
alt="Download" runat="server"/></a>
<asp:HyperLink runat="server" ID="HyperLink1"
NavigateUrl='<%# Eval("YouTubeUrl").ToString().Contains("http://")?Eval("YouTubeUrl"):"http://" Eval("YouTubeUrl").ToString() %>'>
<img src="~/images/yt.gif" style="border:0px; height:22px; width:22px"
alt="Play on You tube" runat="server" /></asp:HyperLink>
Ответ №2:
Вы должны использовать что-то вроде этого:
<asp:HyperLink runat="server" ID="HyperLink1"
NavigateUrl='<%# string.Format("http://{0}", Eval("YouTubeUrl").ToString()) %>'>
Если в начале будет два http: //, измените его на это:
<asp:HyperLink runat="server" ID="HyperLink1"
NavigateUrl='<%# Eval("YouTubeUrl").ToString() %>'>
Из того, что вы опубликовали, неясно, нарушает ли его вызов ResolveUrl или ваш URL-адрес YouTube содержит протокол в начале.