Il modo più semplice è quello di inizializzare le proprietà nel modello costruttore:
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; }
}
E quando si desidera inviare alla vista, per esempio in PersonController.Create
action-metodo:
public ActionResult Create() {
var model = new PersonModel();
return View(model);
}
[HttpPost]
public ActionResult Create(PersonModel model) {
// do something on post-back
}
Quello è. Ricorda, devi creare una nuova istanza del tuo modello e passarlo alla vista per utilizzarne i valori predefiniti. Perché la vista associata a questo metodo di azione, si aspetta un esempio PersonModel
, ma quando si utilizza il metodo creare in questo modo:
public ActionResult Create() {
return View();
}
la vista ha niente (mi riferisco null
), in modo che i valori di default non sono esiste in fatto.
Ma se si desidera eseguire questa operazione per scopi complicati, ad es. utilizzando il valore predefinito come filigrana, o come @JTMon ha detto, non si desidera che gli utenti finali vedano i valori predefiniti, ma si avranno alcune altre soluzioni. Per favore fatemi sapere il vostro scopo.
fonte
2013-05-15 10:37:34
Grazie questo è quello che stavo cercando. Il maiuscolo V mi ha preso. Perché dovrebbero renderlo incoerente in questo modo? – JSideris
Funzionerà con elementi Html che hanno un attributo value come un input.Per elementi come textarea, consiglierei la soluzione di Javad_Amiry – CF5