ich nicht wirklich wissen, wie man mit dem nächsten Thema befassen:Anzeige an einen Kontakt bezogenen Daten
So habe ich eine webbasierte Anwendung mit ASP.NET MVC3 entwickelt, die, wenn ein Ereignis zu erinnern, verwendet wird, wird an einige Leute weitergegeben.
Ich habe 3 Tabellen
Contact
id_contact
name
firstname
...
event
id_event
...
transmission
FK_id_event
FK_id_firstname
mailed (boolean)
phoned (boolean)
Für jedes Ereignis muss ich alle Kontakte aufzulisten, die zu diesem Ereignis in Zusammenhang stehen. Und für jeden Kontakt muss ich 2 Checkboxen anzeigen, die überprüft werden müssen, wenn der Kontakt angerufen oder mailt wurde.
'
' 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
Ich weiß nicht, ob der "Übertragung" Teil des Codes gut ist oder nicht.
Hier in der Ansicht, das ich die Kontakte angezeigt wird Were
@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
Also, meine Frage ist, was soll ich tun, um diese Kontrollkästchen angezeigt werden?
(Entschuldigung, wenn ich nicht verständlich bin, bin ich kein englischer Muttersprachler. Zögern Sie nicht, meine englischen Fehler zu bearbeiten (oder der Titel, der nicht ein großer ist)).
Mit Hilfe von Yasser, ich habe dies getan:
@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
Allerdings bekomme ich einen Fehler: Wert des Typs 'System.Collections.Generic.IEnumerable (Of Boolean)' kann nicht konvertiert werden zu 'Boolean'.
.FirstOrDefault(), um Ihre Abfrage hinzufügen wie, Dim Mail As Boolean = (von In Model.Event Wo a.FK_id_contact = contact.idContact Und a.FK_id_event = Model.Opportunite.idOpportunit Wählen Sie a.mailed) .FirstOrDefault(); – Yasser
Es teilt mir mit, dass ich bereits einen offenen DataReader mit dieser Verbindung verbunden habe, der zuerst geschlossen werden muss. Ich sehe nicht, wo ich eine offene Verbindung haben kann. Ich hatte schon einen solchen Fehler. Ein "Tolist" nach der Linq-Abfrage hatte das Problem gelöst.Hier macht es nichts :-( –
Ich habe nach allen Abfragen des Controllers einen tolist() gesetzt, und es hat das Problem gelöst. Ich weiß nur nicht warum. Thx, die Checkboxen werden nun angezeigt, Ich werde eine Ajax-Abfrage verwenden, um die Änderungen der Kontrollkästchen zu aktualisieren –