に関連するデータを表示する:私は本当に、次の問題に対処する方法がわからない接触
だから、私はときにイベントを覚えておくことが使用されているASP.NET MVC3で開発さウェブベースのアプリケーションを、しましたいくつかの人々に中継されます。
私は3つのテーブルイベントごと
Contact
id_contact
name
firstname
...
event
id_event
...
transmission
FK_id_event
FK_id_firstname
mailed (boolean)
phoned (boolean)
をしました、私は、このイベントに関連するすべての連絡先の一覧を表示する必要があります。また、連絡先ごとに、連絡先が郵送されているかどうかをチェックする必要がある2つのチェックボックスを表示する必要があります。
'
' GET: /Event/Details/5
Function Details(id As Integer) As ViewResult
Dim event As event = db.event.Single(Function(o) o.idOpportunite = id)
Dim contacts = (From a In db.contact, b In db.transmission
Where a.id_Contact = b.FK_id_contact And b.FK_id_event = id
Select a)
Dim transmission = (From a In contacts, b In db.transmission
Where a.id_Contact = b.FK_trans_cont
Select b)
Dim model = New EventDetails With {
.event= event,
.Contacts = contacts,
.TransOpp = transopp
}
Return View(model)
End Function
コードの「送信」部分が良いかどうかわかりません。
ここで考慮すると、これはされた私は連絡先
@For Each contact In Model.contacts
@<tr>
<td>
@Html.ActionLink(contact.name + " " + contact.firstname , "Details", New With {.id = contact.idContact})
</td>
<td>
@Html.Raw(contact.phone)
</td>
<td>
@*Html.DisplayFor(Function(modelItem) currentItem.mail)*@
<a href=mailto:@contact.mail>@Html.Raw(contact.mail)</a>
</td>
<td>
***My checkboxes should be here***
</td>
</tr>
Next
を表示され、私の質問は、私は、これらのチェックボックスを表示するために何をすべき、ありますか?
(私が理解できないのであれば、私はネイティブの英語のスピーカーではありません。)私の英語の間違いを編集することを躊躇しないでください。ヤセルの助けを借りて
は、私はこれをやった:
@code
Dim mail As Boolean = (From a In Model.Event
Where a.FK_id_contact = contact.idContact And a.FK_id_event = Model.Opportunite.idOpportunite
Select a.mailed)
End Code
はしかし、私はエラーを取得する:タイプの 値「(ブール)System.Collections.Generic.IEnumerable」を変換できません〜 'ブール'。ここで
のようにクエリに.FirstOrDefault()を追加するDim mail As Boolean =(In Model.Eventから ここで、a.FK_id_contact = contact.idContactとa.FK_id_event = Model.Opportunite.idOpportunite a.mailedを選択).FirstOrDefault(); – Yasser
この接続に関連付けられている開いているDataReaderが既に閉じられている必要があることがわかります。私は開いたコネクションを持つことができるかどうかわかりません。私はすでにそのような誤りを抱えていました。 linqクエリの後に "tolist"を置くことで問題は解決しました。ここでは何もしません:-( –
私はコントローラのすべてのクエリの後にtolist()を入れて、それは問題を解決しました。私はちょうど理由を知らない。チェックボックスが表示され、私は、チェックボックスの変更を更新するためにajaxクエリを使用します –