ho una casella di testo che sto definendoli comemodello vincolante con Casella di testo disabili
<%= Html.TextBox("Username", Model.Form.Username,
new { @class = "textbox", @disabled = "disabled" })%>
Nella mia azione
[AcceptVerbs(HttpVerbs.Post)]
[ValidateAntiForgeryToken]
public ActionResult EditLogin(LoginForm post) {
...
return View(model);
}
post.Username sarà vuoto, tutte le altre proprietà si legano in modo corretto, ma se io change @ disabled = "disabled @ readonly =" readonly "il nome utente si collega correttamente e tutto funziona
Sembra che il binding del modello ignori i valori nei campi disabilitati. Ho bisogno del valore del campo per legare al modello. Posso usare readonly ma preferisco usare disabilitato quindi è visivamente evidente all'utente che non è possibile modificare il valore del campo.
Wow, non posso credere che non ho eseguito in questo prima, uno che o completamente dimenticato su di esso. Grazie. – modernzombie
È una cosa facile da trascurare ma Dan Diplo ha ragione, in molti casi un campo nascosto è una buona strada da percorrere. Per curiosità, perché stai disabilitando un campo username? –
Sto creando un modulo in cui un amministratore può creare nuovi accessi per il sistema. Stavo disabilitando il nome utente quando l'amministratore stava modificando l'accesso (il nome e il cognome e le e-mail sono modificabili) perché il nome utente non può essere modificato. Ho deciso di usare readonly e posso usare alcuni CSS per colorare il campo in modo diverso. – modernzombie