Der einfachste Weg ist Eigenschaften im Modell zum Initialisieren:
public class PersonModel {
public PersonModel() {
FirstName = "Default first name";
Description = "Default description";
}
public int Id { get; set; }
public string FirstName { get; set; }
public string LastName { get; set; }
public string Description { get; set; }
}
Und wenn Sie wollen, dass es zu der Ansicht senden, zum Beispiel in PersonController.Create
aktions Methode:
public ActionResult Create() {
var model = new PersonModel();
return View(model);
}
[HttpPost]
public ActionResult Create(PersonModel model) {
// do something on post-back
}
That ist es. Denken Sie daran, dass Sie eine neue Instanz Ihres Modells erstellen und an die Ansicht übergeben müssen, um die Standardwerte zu verwenden. Da die Ansicht mit dieser Aktion Verfahren verbunden sind, erwartet eine PersonModel
Instanz, aber wenn Sie die create-Methode wie folgt verwenden:
public ActionResult Create() {
return View();
}
die Aussicht hat nichts (I null
bedeuten), so dass Ihre Standardwerte sind nicht vorhanden in Tatsache.
Aber wenn Sie dies für komplizierte Zwecke tun möchten, z.B. Wenn Sie den Standardwert als Wasserzeichen verwenden oder wie @JTM besagt, dass die Endbenutzer keine Standardwerte sehen sollen, haben Sie andere Lösungen. Bitte lassen Sie mich Ihre Absicht wissen.
Danke das ist, was ich gesucht habe. Der Großbuchstabe V hat mich erwischt. Warum sollten sie es so inkonsequent machen? – JSideris
Dies funktioniert mit HTML-Elementen, die ein Wertattribut wie eine Eingabe haben.Für Elemente wie Textarea würde ich Javad_Amirys Lösung empfehlen – CF5