値戻るバインディング:私のアクションを呼び出すときにモデルバインディングが機能しない理由ASP.Net MVCモデルがNullには、次のマークアップを考えると
<form method="post" action="/home/index">
Username:
<%= Html.TextBox("UserName")%>
Password:
<%= Html.TextBox("Password")%>
<input id="login" type="button" value="Login" />
<input id="Submit1" type="submit" value="submit" />
</form>
はあなたが私に言うことができます:
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Index(string UserName, string Password)
{
//UserName and Password are null! Why?
}
編集: をフォームの値が転記されています。 Request.Formプロパティを調べると、正しい値が投稿されていることがわかります。
? Request.Form {ユーザー名= SDF &パスワード= SDF} [System.Web.HttpValueCollection]:{ユーザー名= SDF &パスワード= SDF} 基地{System.Collections.Specialized.NameObjectCollectionBase} {ユーザー名= SDF &パスワード=自衛隊} AllKeys:{文字列[2]}
あなたのコントロール(Html.TextBox(「ユーザー名」))にnameプロパティを追加し、私はあなたが正しいアクションがフォームを投稿した後にヒットされていることを確認してくださいと仮定? –
はい、フォームを送信した後、正しいアクションが呼び出されています。 –
それは変です。私は正確なコードが私の前で働いています。おそらく別のモデルバインダーを使用していますか? –