私はHtml.EditorFor()ヘルパーを使用してモデルにデータをバインドして送信しようとしますが、コントローラに来るモデルはnullです。ここでASP.NET MVC3 Html.EditorFor()の問題
は、モデルのコードです:
public class LogOnModel
{
[LocalizedRequired]
[LocalizedDisplayName("User Name")]
public string UserName { get; set; }
[LocalizedRequired]
[DataType(DataType.Password)]
[LocalizedDisplayName("Password")]
public string Password { get; set; }
[LocalizedDisplayName("Remember Me")]
public bool RememberMe { get; set; }
}
これはCSHTMLです:
@model Models.LogOnModel
{
View.Title = "Log On";
}
@using (Html.BeginForm())
{
@Html.EditorFor(m => m.UserName);
@Html.EditorFor(m => m.Password);
<input type="submit" value="LogOn" />
}
とhtmlコードは次のように生成される:
<input id="UserName_UserName" name="UserName.UserName" type="text" value="qwerty" />
<input id="Password_Password" name="Password.Password" type="password" />
それはHTML-にエラーのように思えますid = "someid" value = "somevalue"でなければなりません。id = "someid_someid" value = "somevalue.somevalue"
をあなた自身のエディタのテンプレートを作成しましたか?もしそうなら、あなたはそのコードを投稿できますか? – GvS
'[DataType(DataType.Password)]'と 'EditorFor'は私にとってうまくいっています。私のidとnameの属性は、私が期待したような「パスワード」だけでした。 – RichC