在MVC中的创建和编辑中使用单选按钮绑定性别

时间:2016-02-02 18:18:30

标签: entity-framework asp.net-mvc-4

我想在创建和开启时显示性别男性单选按钮和女性单选按钮如果应选中男性和女性,则应选择编辑所选单选按钮。 模型

[Table("tblUserData")]
public class test
{
    [Key]
    public int Id { get; set; }
    public string FullName { get; set; }
    public Nullable<bool> Gender { get; set; }
}

创建视图

@using (Html.BeginForm()) 
 {
@Html.AntiForgeryToken()

<div class="form-horizontal">
    <h4>test</h4>
    <hr />
    @Html.ValidationSummary(true)

    <div class="form-group">
        @Html.LabelFor(model => model.FullName, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.FullName)
            @Html.ValidationMessageFor(model => model.FullName)
        </div>
    </div>

    <div class="form-group">
        @Html.LabelFor(model => model.Gender, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.EditorFor(model => model.Gender)
            @Html.ValidationMessageFor(model => model.Gender)
        </div>
    </div>

    <div class="form-group">
        <div class="col-md-offset-2 col-md-10">
            <input type="submit" value="Create" class="btn btn-default" />
        </div>
    </div>
</div>

}

如何更换

@Html.EditorFor(model => model.Gender)

@Html.RadioButtonFor(model=>model.Gender)

它要求另外一个参数我从哪里得到它作为它在sql中的位如果它的0然后性别是男性如果1然后是女性。 同样我想进行编辑,以便用户可以看到性别并通过单选按钮更新它。

1 个答案:

答案 0 :(得分:2)

假设你的剃刀视图是强类型的,请测试

test

对于您的编辑视图,只要您向视图发送Gender的有效对象,相同的代码就会起作用。根据{{​​1}}属性的值,它将选择相应的单选按钮。

public ActionResult Edit(int id)
{
   var vm = yourSbContext.tests.FirstOrDefault(s=>s.Id==id);
   if(vm!=null)
   {
     return View(vm);
   }
   // to do  : Return a Not found/404 response/view
}