2013-03-12 33 views
0

我有一個對象,我從數據庫中檢索,其中一個字段是一個URL。我在gridview中顯示這些數據,我希望URL列是一系列鏈接,指向「下載」,它指向相應的URL。設置一個gridview列來包含鏈接,其中綁定數據是一個URL列表

目前,我有以下幾點:

<asp:GridView ID="my_gv" runat="server" AutoGenerateColumns = "false" 
      GridLines="None" Width="100%" AllowSorting="True" 
      CssClass="table table-bordered table-condensed"> 
      <AlternatingRowStyle BackColor="#F5F5F5" /> 
      <Columns> 
       <asp:HyperLinkField DataNavigateUrlFields = "location" Text = "Download link" HeaderText = "Download" /> 
      </Columns>  
     </asp:GridView> 

這似乎並不奏效。條目像鏈接一樣是藍色的,但用鼠標懸停不會實際調用URL(遊標不會更改爲「鏈接」遊標)。看看生成的HTML,它們是<a>標籤,但它們不包含href屬性。爲什麼?我錯過了什麼讓它可以工作?我使用以下內容填充:

 private void populateElementView() 
     { 
      List<MyElement> elements = database.getGeneratedElements(); 
      // elements has a .location property 
      my_gv.DataSource = elements; 
      my_gv.DataBind(); 

     } 

有關更多信息,URL指向計算機上的文件。用URL「測試」手工插入一個項目實際上是可行的,而實際的文件路徑卻不適用。如果您使用的是另一種控制只是綁定值NavigateUrl這樣

<asp:HyperLink ID="HyperLink1" Text="Download link" NavigateUrl='<%# Eval("location")%>' runat="server"></asp:HyperLink> 

或:

回答

1

剛剛嘗試,這可能是它會幫助你。在這裏,我用DataNavigateUrlFormatString Property它用於

Gets or sets the string that specifies the format in which the URLs for the hyperlinks in a HyperLinkField object are rendered.

<asp:HyperLinkField DataNavigateUrlFields = "location" Text = "Download link" HeaderText = "Download" DataNavigateUrlFormatString="{0}" /> 

編輯:

你可以把服務器上的位置,你的文件和你的位置字段都會有這樣

虛擬路徑現在,您可以將HyperLinkField中的網址格式化爲http://localhost//Download/{0},其中{0}表示MusicFiles/File1.avi或您的location字段值

<asp:HyperLinkField DataNavigateUrlFields = "location" Text = "Download link" HeaderText = "Download" DataNavigateUrlFormatString="http://localhost//Download/{0}" /> 

我認爲這將幫助您部署它時,用戶可以從您的服務器上下載文件。

+0

沒有改變任何東西,但謝謝你。這似乎與asp如何解析網址有關。空間會成爲一個問題? – Jim 2013-03-12 13:55:53

+0

讓你的url包含http或類似這個協議的東西。是的,空間可能是一個問題?你能展示一下你的位置字段有什麼確切的價值。 – Sachin 2013-03-12 14:01:18

+0

這裏是一個例子:C:/ Program Files(x86)/foo/bar/test_file.avi – Jim 2013-03-12 14:02:58

0

嘗試這種方式

<%# Eval("location")%> 
相關問題