Ich habe eine Datenbanktabelle, die aufzeichnet, auf welche Veröffentlichungen ein Benutzer zugreifen darf. Die Tabelle ist sehr einfach - sie speichert einfach Benutzer-ID / Publikations-ID-Paare:
%Vor%Das Vorhandensein eines Datensatzes für einen bestimmten Benutzer & amp; Veröffentlichung bedeutet, dass der Benutzer Zugriff hat; das Fehlen einer Aufzeichnung impliziert keinen Zugriff.
Ich möchte meinen Admin-Benutzern einen einfachen Bildschirm zeigen, mit dem sie konfigurieren können, auf welche Publikationen ein Benutzer zugreifen kann. Ich möchte eine Checkbox für jede der möglichen Publikationen anzeigen und überprüfen, welche der Benutzer derzeit zugreifen können. Der Administrator kann dann eine beliebige Anzahl von Veröffentlichungen aktivieren oder deaktivieren und das Formular absenden.
Es gibt verschiedene Publikationstypen, und ich möchte die ähnlich typisierten Publikationen zusammen gruppieren - also brauche ich Kontrolle darüber, wie die Publikationen präsentiert werden (ich möchte nicht nur eine flache Liste haben).
Mein Ansichtsmodell muss natürlich eine Liste aller Publikationen haben (da ich sie alle anzeigen muss, unabhängig von der aktuellen Auswahl), und ich brauche auch eine Liste der Publikationen, auf die der Benutzer aktuell Zugriff hat. (Ich bin mir nicht sicher, ob ich mit einer einzelnen Liste besser wäre, in der jeder Artikel die Veröffentlichungs-ID und ein Ja / Nein-Feld enthält.).
Aber das ist soweit ich habe. Ich habe wirklich keine Ahnung, wie man das an einige Checkboxen bindet. Wo fange ich an?
Das Linq to SQL Modell für Ihr Problem sieht etwa so aus:
Alttext http://i39.tinypic.com/m78d1y.jpg
Zuerst benötigen wir einige Hilfsobjekte in unserem Datenmodell:
%Vor%Erstellen wir nun ein Repository , das folgendermaßen aussieht:
%Vor%Und ein Controller , der folgendermaßen aussieht:
%Vor%Die Indexansicht sieht folgendermaßen aus:
%Vor%Und die Ansicht auswählen sieht folgendermaßen aus:
%Vor%Hier sind einige Screenshots.
Alttext http://i43.tinypic.com/2yl07kw.jpg
alt text http://i44.tinypic.com/mhulua.jpg
Das Kontrollkästchen in der oberen linken Ecke ist das Kontrollkästchen Alle auswählen / Keine auswählen .
Tags und Links asp.net-mvc data-binding asp.net-mvc-2 viewmodel