C# 从gridview模板字段跳转到外部url

C# 从gridview模板字段跳转到外部url,c#,asp.net,C#,Asp.net,我需要从现有位置跳到其他位置。比如,如果我的应用程序在本地主机上运行,我想跳转到Youtube。 情景: 我有一个网格,其中模板字段是asp:hyperlink。我需要添加一个图像,在该图像上单击,我将移动到youtube <a id="Download" href='<%#ResolveUrl(Eval("Path").ToString()) %>' title="Download>>" style="color: #FFFFFF; font-size:

我需要从现有位置跳到其他位置。比如,如果我的应用程序在本地主机上运行,我想跳转到Youtube。 情景:

我有一个网格,其中模板字段是asp:hyperlink。我需要添加一个图像,在该图像上单击,我将移动到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>


我想从当前位置导航到当前位置之外的其他位置。

您应该使用以下内容:

<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调用是否破坏了它,或者您的YouTube url在开始时是否包含协议。

使用此选项

<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>

它提供了类似url的内容