リピーターを使用して、「SelectedUtility」テーブルを実行し、一致する場所を出力します。これはそのままで問題なく動作しますが、ユーティリティ テーブルの「id」への外部キーである「Utility_Id」が表示されます。
実際には、Utility テーブル内に「name」列を表示したいと考えています。どうすればこれを行うことができますか...何かのようなものですか、<th style="width:200px;"><%# Eval("Utility_Id.name") %></th>
それともコードビハインドで行われます...ご回答ありがとうございます
aspx:
<asp:Repeater id="rptSelectedUtilities" runat="server">
<HeaderTemplate>
<table class="detailstable FadeOutOnEdit">
<tr>
<th style="width:200px;">Utility</th>
</tr>
</HeaderTemplate>
<ItemTemplate>
<tr>
<th style="width:200px;"><%# Eval("Utility_Id") %></th>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
コードビハインド:
DBData db = new DBDatat();
List<Select_Utility> SelectedUtility =
(from SU in db.Select_Utilities
where SU.Work_Id == 3
select SU).ToList();
rptSelectedUtilities.DataSource = SelectedUtility;
rptSelectedUtilities.DataBind();
編集:
DBData db = new DBDatat();
List<Utility_Company> Utility = new List<Utility_Company>();
List<Select_Utility> SelectedUtility =
(from SU in db.Select_Utilities
join UTL in Utility on SU equals UTL.id
where SU.Worksite_Id == 3
select SU).ToList();
rptSelectedUtilities.DataSource = SelectedUtility;
rptSelectedUtilities.DataBind();
「結合句のいずれかの式の型が正しくありません」というエラーをスローします。'join' の呼び出しで型の推定に失敗しました
//結合は名前にすべきではありません..そのため、SUのUtilityで結合UTLはUTL.Nameに等しい//UTL.idの代わりに
また、SU の db.Utility_Companies で UTL に参加しようとしましたが、UTL.id と同じです...同じエラーが発生しました
2 番目の編集: <%# Eval("Name") %> はエラーをスローします:DataBinding: 'Select_Utility' には 'Name' という名前のプロパティが含まれていません。
DBData db = new DBData();
List<Select_Utility> SelectedUtility =
(from SU in db.Select_Utilities
where SU.Worksite_Id == 3
select SU).ToList();
rptSelectedUtilities.DataSource = SelectedUtility;
rptSelectedUtilities.DataBind();
List<Utility_Company> Utility = new List<Utility_Company>();
var query = from u in db.Utility_Companies
join su in db.Select_Utilities
on u.id equals su.Utility_Id
where su.Worksite_Id == 3
select u;
rptSelectedUtilities.DataSource = query.ToList();
rptSelectedUtilities.DataBind();