この回答が示唆することを実装しようとしていますが、モデル コードに表示名を保存しないので、別の質問だと思います。
私はMVCビューを持っています
<%@ Page Language="C#" MasterPageFile="PathToMaster" Inherits="System.Web.Mvc.ViewPage<ModelData>" %>
とモデル:
public class ModelData {
public bool Option1 { get; set; }
}
チェックボックスを含むフォームの HTML マークアップを含む .aspx があります。
<label for="MyCheckbox">Your choice</label>
<%= Html.CheckBoxFor(Model=>Model.Option1, new { id="Option1", @class="checkbox", onchange="return myValidation();", name="MyCheckbox", value="Option one" } ) %>
コンパイルすると、次の HTML が生成されます。
<label for="MyCheckbox">Your choice</label>
<input class="checkbox" id="Option1" name="Option1" onchange="return myValidation();" type="checkbox" value="Option one" /><input name="Option1" type="hidden" value="false" />
チェックボックスをオンにしてフォームを送信するたびに、コントローラーアクション
class MyController : Controller {
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult RequestStuff( ModelData data )
{
}
}
受け取りdata
場所Option1
はどこかfalse
。
私は何を間違っていますか?チェックボックスをモデルメンバーにマップするにはどうすればよいですか?