Asp.net mvc 3 从模型生成单选按钮时遇到错误

Asp.net mvc 3 从模型生成单选按钮时遇到错误,asp.net-mvc-3,Asp.net Mvc 3,我试图从模型生成单选按钮,但得到对象引用错误。我只是不明白我在MVC中犯了什么错误,因为我只是在学习。这是我的全部代码。请看一下,告诉我哪里错了。谢谢 模范班 最初提供页面时,您永远不会将模型返回到视图中。因此,当您尝试在Sex对象上迭代时,会出现空引用错误 [HttpGet] public ActionResult Index() { ... code ... return View(); //The problem is here! } 您应该将模型返回到视图: [Http

我试图从模型生成单选按钮,但得到对象引用错误。我只是不明白我在MVC中犯了什么错误,因为我只是在学习。这是我的全部代码。请看一下,告诉我哪里错了。谢谢

模范班
最初提供页面时,您永远不会将模型返回到视图中。因此,当您尝试在
Sex
对象上迭代时,会出现空引用错误

[HttpGet]
public ActionResult Index()
{
    ... code ...
    return View(); //The problem is here!
}
您应该将模型返回到视图:

[HttpGet]
public ActionResult Index()
{
    ... code ...
    return View(student);
}

我注意到一个问题,即具有两个id属性的单选按钮,如why value=“{id=sex1}”,显示的是show id=“sex1”。plzz指导我需要在代码中更改什么。感谢Sam我是否正确绑定了单选按钮。我注意到另一个问题,当我单击submit按钮时,我看到public ActionResult Index(StudentModel model)model Sex属性计数为0。我在提交时选择了单选按钮,但在操作方法结束时没有值……任何原因。您应该开始阅读文档,或查看方法采用的参数。当您为调用
radiobutton时,第二个参数是单选按钮的
。基于此,渲染输出是正确的。如果您想将HTML属性添加到元素中,那么这应该是第三个参数。
@model MvcRadioButton.Models.StudentModel

@Html.BeginForm()
{
    <div>
        @Html.LabelFor(model => model.FirstName)
        @Html.EditorFor(model => model.FirstName)
        @Html.ValidationMessageFor(model => model.FirstName)
    </div>
    <div>
        @Html.LabelFor(model => model.LastName)
        @Html.EditorFor(model => model.LastName)
        @Html.ValidationMessageFor(model => model.LastName)
    </div>
    @{ 
        foreach (var sex in Model.Sex)
        {
            <div>
                @Html.RadioButtonFor(model => model.Sex, new { id = "sex" + sex.ID })
                @Html.Label("sex" + sex.ID, sex.Type)
            </div>
        }
    }

    <input type="submit" value="Submit" />
}
foreach (var sex in Model.Sex) saying model null or object reference error
[HttpGet]
public ActionResult Index()
{
    ... code ...
    return View(); //The problem is here!
}
[HttpGet]
public ActionResult Index()
{
    ... code ...
    return View(student);
}