在asp.net mvc 5(vb)中未在编辑模式下设置Radiobutton值

时间:2015-08-11 11:27:29

标签: asp.net asp.net-mvc asp.net-mvc-5

在我的代码中,对于编辑页面,性别值未设置

<label>
    @Html.RadioButtonFor(Function(model) model.Sex, "M", New With {Key .checked = (If(Model.Sex = "M", True, False))}) Male
    </label>
    <label>
    @Html.RadioButtonFor(Function(model) model.Sex, "F", New With {Key .checked = (If(Model.Sex = "F", True, False))}) Female
    </label>

//////////////////////////////////////// 编辑

Async Function Edit(ByVal id As Long?) As Task(Of ActionResult)
        If IsNothing(id) Then
            Return New HttpStatusCodeResult(HttpStatusCode.BadRequest)
        End If
        ViewBag.Title = "Employee Master View"
        Dim employeeMaster As EmployeeMaster = Await db.EmployeeMaster.FindAsync(id)
        ViewBag.task = "Edit"
        If IsNothing(employeeMaster) Then
            Return HttpNotFound()
        End If
        Return View("EmployeeMasterView", employeeMaster)
    End Function

在编辑模式下,总是检查女性... 有什么问题??

1 个答案:

答案 0 :(得分:0)

在单选按钮中,checkedchecked="checked"checked="false"checked="anyThingAtAll"执行完全相同的操作,他们设置checked属性,尽管只有前2个是有效的HTML。

生成html时,会选择第一个单选按钮,然后选择第二个单选按钮(第一个单选按钮未选中,因为只能选择一个)

使用html帮助程序时,请勿设置checked属性的值。从两者中删除它。您对模型属性的强绑定,以便帮助程序使用该属性的值来确定用于设置checked属性的单选按钮。如果属性Sex""M",则会选择第一个按钮。如果是"F",则第二个将是。$stmt->setFetchMode(PDO::FETCH_ASSOC); 。如果不是,则不会选择任何按钮。