2012-03-05 22 views
0

希望你過得愉快。如何映射Gridview Hyperlink字段的DataNavigateUrlFormatString dynamicatlly vb.net?

我正在開發一個帶有像下面這樣的超鏈接字段的歌曲列表的gridview。順便留下不必要的代碼。超鏈接字段的目的是讓用戶下載歌曲。我正在使用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> 

回答

1

你可以使用相對鏈接嗎?即:

Uploads/{0} 

(這將是相對於顯示的鏈接的頁面。)

或者,如果你想指定從您的網站的根目錄中的網址相對:

~/RioMusic/Uploads/{0} 
+0

這應該可以工作,但問題是,如果我不把http:// localhost/xxxx放入它,它會變得無法點擊的原因。任何想法 ? – lawphotog 2012-03-05 11:12:04

+0

對不起,我現在就開始工作。問題在於使用Song_Location的DataNavigateUrlFields,這是我在上傳歌曲時保存在數據庫中的實際位置(例如C://xxx/xxx/xx.mp3)。我將其改爲實際文件的名稱,並使用**〜/ RioMusic/Uploads/{0} **這樣並且現在工作正常。謝謝。 – lawphotog 2012-03-05 11:21:51

+0

很高興聽到你有上帝,它工作:) – Carl 2012-03-05 11:31:22