MVC3 RadioButton

时间:2012-07-12 12:53:15

标签: c# asp.net-mvc-3 radio-button

我正在使用C#+ MVC3。 我在表格上有一个单选按钮,但我遇到了一些问题。

在Index.cshtml,我有:

<div class="display-label">
    Label
</div>
<div class="display-field">@Html.RadioButton("rdActive", ((FakeClass)ViewBag.FakeFilter).Situation, "S");

在我的控制器索引中,我有:

    ViewBag.FakeFilter = new FakeClass()
    {
        Situacao = (Request.Form["rdActive"] == "" ? null : Request.Form["rdActive"])
    }

我得到的是ArgumentNullPointerException

2 个答案:

答案 0 :(得分:4)

根据我对你的错误的理解,它会抛出Nullpontier,因为你在Request.Form["rdActive"]中收到空,所以当代码传递给action时,返回null到viewbag。

现在我觉得奇怪的是,助手的重载在最后一个参数中接收一个布尔值,并且你传递一个带有“s”的字符串。

@Html.RadioButton("rdActive", ((FakeClass)ViewBag.FakeFilter).Situation, "S")

应该是

@Html.RadioButton("rdActive", ((FakeClass)ViewBag.FakeFilter).Situation, true)

@Html.RadioButton("rdActive", ((FakeClass)ViewBag.FakeFilter).Situation, false)

检查参数

enter image description here

答案 1 :(得分:0)

可能ViewBag在您的视图中不可用,尝试使用可从任何视图访问的TempData [“FakeFilter”]并在您阅读后删除(默认情况下)