2012-04-10 22 views
1

我有兩個鏈接的表。母表版本和子表文件。 版本具有名爲fileID的列,它與文件中的ID列鏈接。文件有一個名爲Url的列,這是我想要檢索的列。所以問題是,如果我做「DataNavigateUrlFields =」 File.Url」系統滴,沒有發現錯誤。我可以在代碼中使用Version.File.Url背後沒有問題。Datagrid的超鏈接在子表的列中

我該怎麼辦呢?

它的代碼是(我已經消除惱人的代碼):

<asp:GridView ID="GridView1" runat="server" > 
    <Columns> 
     <asp:HyperLinkField DataNavigateUrlFields="File.Url" 
     DataNavigateUrlFormatString="download.aspx?id={0}" HeaderText="Descargar" 
     Text="Documento" /> 
    </Columns> 

</asp:GridView> 

<asp:LinqDataSource ID="LinqDataSource1" runat="server" 
    ContextTypeName="QDoc.Class.LinqToSql.QDocDataContext" TableName="Versions" 
    Where="DocId == @DocId"> 
    <WhereParameters> 
     <asp:QueryStringParameter DefaultValue="0" Name="DocId" QueryStringField="id" 
      Type="Int32" /> 
    </WhereParameters> 
</asp:LinqDataSource> 

回答

1

File.Url與屬性 猜測爲您生成Version類,並因此宣佈partial所以,你可以定義裏面Version屬性等。這個:

partial class Version 
{ 
    public string FileUrl 
    { 
     return File.Url; 
    } 
} 

而且你可以使用此類似:

<asp:HyperLinkField DataNavigateUrlFields="FileUrl" 
     DataNavigateUrlFormatString="download.aspx?id={0}" HeaderText="Descargar" 
     Text="Documento" />