2016-08-16 6 views
0

So habe ich meine Modelle und Controller aus meiner Datenbank und von der Steuerung habe ich Ansichten erstellt. Um Ihnen einen Hintergrundzusammenhang zu geben, habe ich eine Anwendung erstellt, mit der Benutzer Bewertungen zu einem bestimmten Service veröffentlichen und bearbeiten können. Ich habe eine "erstellen" und "bearbeiten" Ansicht für den Benutzer erstellt, um eine Rezension zu erstellen und/oder eine Rezension zu bearbeiten. Ein Teil der Form-Gruppe in der erstellen Ansicht ermöglicht es dem Benutzer, den Dienst zu wählen, die sie möchtenDropdown-Liste bearbeiten Überprüfung

<div> 
       <div class="form-group"> 
        @Html.LabelFor(model => model.WellnessService, htmlAttributes: new { @class = "control-label col-md-2" }) 
        <div class="col-md-10"> 
         @Html.DropDownList("WellnessService", new List<SelectListItem> 
       { 
        new SelectListItem() {Text = "Student Wellness Service", Value = "Student Wellness Service"}, 
        new SelectListItem() {Text = "HAICU", Value = "HAICU"}, 
        new SelectListItem() {Text = "Student Counceling", Value = "Student Counceling"}, 
        new SelectListItem() {Text = "DISCHO (Discrimination and Harassment Office)", Value = "DISCHO"}, 
        new SelectListItem() {Text = "Campus Protection Service (CPS)", Value = "CPS"}, 
        new SelectListItem() {Text = "Disablity Service", Value = "Disability Service"}, 
       }, "Select Wellness Service") 



         @Html.ValidationMessageFor(model => model.WellnessService, "", new { @class = "text-danger" }) 
        </div> 
       </div> 
      </div> 

jedoch in der Bearbeitungsansicht kann der Anwender den Wert des Dienstes zu, was auch immer er oder sie will überprüfen. Ich mag der Benutzer nur sein, die Dienstnamen der unten gebe ich auf die Drop basierten Überprüfung zu ändern, anstatt sie eingeben

<div class="form-group"> 
         @Html.LabelFor(model => model.Rating, htmlAttributes: new {@class = "control-label col-md-2"}) 
         <div class="col-md-10"> 
          @Html.EditorFor(model => model.Rating, new {htmlAttributes = new {@class = "form-control"}}) 
          @Html.ValidationMessageFor(model => model.Rating, "", new {@class = "text-danger"}) 
         </div> 
        </div> 

wenn der Sinn macht: P

ich gelesen habe, dass Sie müssen einen Aufzähler in Ihrem Modell einrichten, gab es jedoch Führer, dies ist für Code zuerst mvc5 und nicht Datenbank zuerst

Antwort

0

Viele Möglichkeiten, es zu tun. model in Ihrem Ansichtsmodell, können Sie eine IEnumerable<WellnessService> WellnessService { get; set; } und übergeben Sie es wie diese

var services = new List <SelectListItem> { 
    new SelectListItem() { 
      Text = "Student Wellness Service", Value = "Student Wellness Service" 
     }, 
     new SelectListItem() { 
      Text = "HAICU", Value = "HAICU" 
     }, 
     new SelectListItem() { 
      Text = "Student Counceling", Value = "Student Counceling" 
     }, 
     new SelectListItem() { 
      Text = "DISCHO (Discrimination and Harassment Office)", Value = "DISCHO" 
     }, 
     new SelectListItem() { 
      Text = "Campus Protection Service (CPS)", Value = "CPS" 
     }, 
     new SelectListItem() { 
      Text = "Disablity Service", Value = "Disability Service" 
     }, 
} 
model.WellnessServices = services; 

erstellen Oder man könnte es in Ihrem ViewBag setzen und wie diese

ViewBag.WellnessServices = services; 
passieren