Ich bin ziemlich neu in der ASP.net MVC Welt und ich versuche herauszufinden, wie eine Gruppe von Kontrollkästchen gerendert werden stark in ein Ansichtsmodell eingetippt. In Webforms würde ich nur die Checkbox-Kontrolle verwenden, aber ich bin ein wenig verloren mit MVC.Wie rende ich eine Gruppe von Kontrollkästchen mit MVC 4 und View-Modelle (stark typisiert)
Ich erstelle ein einfaches Kontaktformular für ein Hochzeitsplanungsunternehmen und muss die vom Benutzer ausgewählten Kontrollkästchenwerte an meinen Controller übergeben.
Die Form Checkboxen müssen wie folgt aussehen:
Ihre Hilfe würde sehr geschätzt werden. Vielen Dank!
Hier ist, was ich bisher habe.
CONTROLLER
[HttpPost]
public ActionResult Contact(ContactViewModel ContactVM)
{
if (!ModelState.IsValid)
{
return View(ContactVM);
}
else
{
//Send email logic
return RedirectToAction("ContactConfirm");
}
}
VIEW MODELL
public class ContactViewModel
{
[Required]
public string Name { get; set; }
[Required]
public string Phone { get; set; }
[Required]
[DataType(DataType.EmailAddress)]
public string Email { get; set; }
[Required]
public string Subject { get; set; }
public IEnumerable<SelectListItem> SubjectValues
{
get
{
return new[]
{
new SelectListItem { Value = "General Inquiry", Text = "General Inquiry" },
new SelectListItem { Value = "Full Wedding Package", Text = "Full Wedding Package" },
new SelectListItem { Value = "Day of Wedding", Text = "Day of Wedding" },
new SelectListItem { Value = "Hourly Consultation", Text = "Hourly Consultation" }
};
}
}
//Not sure what I should do for checkboxes...
}
VIEW
@model NBP.ViewModels.ContactViewModel
@{
ViewBag.Title = "Contact";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@using (Html.BeginForm())
{
<div id="ContactContainer">
<div><span class="RequiredField">* </span>Your Name:</div>
<div>
@Html.TextBoxFor(model => model.Name)
</div>
<div><span class="RequiredField">* </span>Your Phone:</div>
<div>
@Html.TextBoxFor(model => model.Phone)
</div>
<div><span class="RequiredField">* </span>Your Email:</div>
<div>
@Html.TextBoxFor(model => model.Email)
</div>
<div>Subject:</div>
<div>
@Html.DropDownListFor(model => model.Subject, Model.SubjectValues)
</div>
<div>Vendor Assistance:</div>
<div>
<!-- CHECKBOXES HERE -->
</div>
<div>
<input id="btnSubmit" type="submit" value="Submit" />
</div>
</div>
}
Ich bin neugierig .. Haben Sie sogar versucht, Html.Check eingeben ...? –
ja, aber ich bin mir nicht sicher, wie ich sie mit meinem View-Modell verbinden würde ... – Maddhacker24