【问题标题】:How to map DataNavigateUrlFormatString of Gridview Hyperlink Field dynamicatlly vb.net?如何动态映射Gridview Hyperlinkfield的DataNavigateUrlFormatString vb.net?
【发布时间】:2012-03-05 10:41:11
【问题描述】:

希望你今天过得愉快。

我正在为带有如下超链接字段的歌曲列表开发一个网格视图。顺便说一句,我留下了不必要的代码。超链接字段的目的是供用户下载歌曲。我正在使用 Visual Studio 2010,并且仍在使用开发服务器,例如 http://Localhost:xxxx/mypage.aspx。因此,每次运行此页面时,我都必须更新超链接字段以保持链接正确。我明白,一旦我放入实时服务器,我只需要放入域并且此问题已解决,但我想知道是否有办法将 DataNavigateUrlFormatString 的路径动态映射到开发服务器 URL这样我就不需要在开发服务器上不断更改。

非常感谢。

    <asp:GridView>
    <Columns>
    <asp:BoundField DataField="Song_Name" HeaderText="Song_Name" SortExpression="Song_Name" />

    <asp:HyperLinkField DataNavigateUrlFields="Song_Location" 
     DataNavigateUrlFormatString="http://localhost:6686/RioMusic/Uploads/{0}" 
     DataTextField="Song_Name" HeaderText="Download" />
    </Columns>
    </asp:GridView>

【问题讨论】:

    标签: asp.net gridview hyperlink asp.net-development-serv


    【解决方案1】:

    你可以只使用相对链接吗?即:

    Uploads/{0}
    

    (这将与显示链接的页面相关。)

    或者,如果您希望从站点的根目录指定一个相对 URL:

    ~/RioMusic/Uploads/{0}
    

    【讨论】:

    • 这应该可以,但问题是,如果我不把localhost/xxxx 放进去,它会因为某种原因变得无法点击。有什么想法吗?
    • 对不起,我让它工作了。问题是使用 Song_Location 的 DataNavigateUrlFields,它是我上传歌曲时保存在数据库中的实际位置(例如 C://xxx/xxx/xx.mp3)。我将其更改为实际文件的名称并像这样使用 ** ~/RioMusic/Uploads/{0} ** 并且现在可以正常工作。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 2021-06-17
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    相关资源
    最近更新 更多