Der Job des Modells besteht darin, die Problemdomäne darzustellen, den Status beizubehalten und Methoden für den Zugriff und die Änderung des Status der Anwendung bereitzustellen.
Zum Beispiel in Ihre Website, wenn Sie ein Kontaktformular haben wie Sie gesagt haben über dem MVC-Muster
dieses
Modell würde
namespace WebApplication1.Models
{
public class Contact {
public string FirstName { get; set; }
public string LastName { get; set; }
public string Email { get; set; }
public string Comment { get; set; }
}
}
Ansicht (gewohnt sind alle Felder)
@using (Html.BeginForm("Contact", "Home", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @id = "contact-form", role = "form" }))
{
@Html.ValidationSummary()
<fieldset>
<div class="form-div-1">
<label class="name">
@Html.TextBoxFor(m => m.FirstName, new { @placeholder = "First Name *", @type = "text" })
</label>
</div>
<div class="form-div-2">
<label class="email">
@Html.TextBoxFor(m => m.Email, new { @placeholder = "Email Address *", @type = "email" })
</label>
</div>
<div class="button-wrapper">
<input type="submit" value="Send" name="submit" class="button">
</div>
</fieldset>
}
Steuerung
[HttpPost]
public ActionResult Contact(MailModels e)
{
if (ModelState.IsValid)
{
StringBuilder message = new StringBuilder();
MailAddress from = new MailAddress(e.Email.ToString());
message.Append("First Name: " + e.FirstName + "\n");
message.Append("Email: " + e.Email + "\n");
// send email logic below
}
}
Jetzt können Sie mit diesem grundlegenden Beispiel sehen, wie wichtig und gut es ist, dass sich diese Logik aufteilt.
Modelle bieten einfach eine schöne Abstraktion für Ihre Daten. Statt zu denken in "Wie schreibe ich diesen inneren Join, um alle Felder zu bekommen, die ich brauche", ermöglichen Modelle Ihnen, zu denken, "wie sind die Objekte meiner Anwendung miteinander verwandt, wie interagieren sie und wie kann ich? bekomme die Daten, die ich von ihnen brauche ".
Der zentrale Bestandteil des MVC, das Modells, fängt die Verhalten der Anwendung in Bezug auf seinen Problembereich, unabhängig von den Benutzern Schnittstelle. Das Modell direkt verwaltet die Daten der Anwendung, Logik und Regeln
Also ja im Grunde das Modell die größte ist, wichtigste Schicht in den meist MVC-Anwendungen.
Build/Verwenden Sie X, wenn Sie unbedingt X benötigen! – Shyju