Avec cette méthode de commande: -Problème avec liant modèle ASP.NET MVC
[AcceptVerbs(HttpVerbs.Post)]
public ViewResult Contact(Contact contactMessage)
{
return View();
}
Pourquoi ce travail ...
public class Contact
{
public string Name { get; set; }
public string Email { get; set; }
public string Message { get; set; }
}
<% using(Html.BeginForm()) { %>
<p>Name : <%= Html.TextBox("Name")%></p>
<p>Email : <%= Html.TextBox("Email")%></p>
<p>Message : <%= Html.TextBox("Message")%></p>
<p><input type="submit" value="Send Data" /></p>
Mais cela ne fonctionne pas?
public class Contact
{
public string ContactName { get; set; }
public string ContactEmail { get; set; }
public string ContactMessage { get; set; }
}
<p>Name : <%= Html.TextBox("ContactName")%></p>
<p>Email : <%= Html.TextBox("ContactEmail")%></p>
<p>Message : <%= Html.TextBox("ContactMessage")%></p>
<p><input type="submit" value="Send Data" /></p>
Ne me dites pas que les noms de champs ne sont que partiellement identifiés?
Faites confiance à moi - Tout ce que j'ai fait, c'est d'ajouter le texte "Contact" à chacun des champs de l'objet et à chacun des champs du formulaire. C'est presque comme si MVC se confondait avec les champs commençant tous par les mêmes 7 premiers caractères.
Ce qui donne?
Quelqu'un peut-il faire la lumière là-dessus?
Paul.
Avez-vous une étiquette de forme au second ? – eugeneK
Je confirme, la seconde ne fonctionne pas. Le paramètre est 'null'. Peut-être un bug dans DefaultModelBinder. –
Félicitations pour avoir un titre stupide. S'il vous plaît pouvez-vous penser à le changer? –