2011-02-08 31 views
0

的問題如下:如何使用LinqDataSource訪問GridView中的ForeignKey值?

我在數據庫三個表:

文章與像ID_Article,標題等領域,也是一個FK ID_Author

類別同場ID_Category,名稱

CATEGORYTOARTICLE帶字段ID_Article,ID_Category

現在我有一個頁面顯示給定類別的所有文章。 裏面有一個GridView。

 <asp:GridView ID="GridViewCategories" runat="server" 
      AutoGenerateColumns="False" DataSourceID="LinqSourceGridCategories" > 
      <Columns> 
       <asp:TemplateField> 
        <HeaderTemplate>Title</HeaderTemplate> 
        <ItemTemplate> 
         ??? 
        </ItemTemplate> 
       </asp:TemplateField>       
      </Columns> 
     </asp:GridView> 

加一個的LinqDataSource

 <asp:LinqDataSource ID="LinqSourceGridCategories" runat="server" 
      ContextTypeName="konserwatyzm.db.DataClassesDataContext" EntityTypeName="" 
      TableName="CategoryToArticles" Where="ID_Category == @ID_Category"> 
      <WhereParameters> 
       <asp:QueryStringParameter Name="ID_Category" QueryStringField="id" 
        Type="Int32" /> 
      </WhereParameters> 
     </asp:LinqDataSource> 

所觀看的類別的ID通過查詢字符串傳遞。

如何訪問文章表的字段,以便我可以在GridView中爲它們創建列?我嘗試使用Eval(「Article.Title」),但它一直說「DataBinding:'konserwatyzm.db.CategoryToArticle'不包含名爲'Article'的屬性。」

謝謝!

回答

1

確保您的密鑰在您的dbml或map中正確定義。然後嘗試使用linqdatasource配置嚮導構建一個查詢,方法是選擇所需的所有行。看起來你只需要選擇CategoryToArticles表格+另外兩個表格。您將能夠以這種方式引用其他表中的列。

+0

如何在linqdatasource配置嚮導中選擇多個表?可能嗎? – 2013-11-20 12:50:22

相關問題