【问题标题】:MVC3 RadioButtonMVC3 单选按钮
【发布时间】:2012-07-12 05:31:52
【问题描述】:

我正在使用 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

【问题讨论】:

  • 能否从堆栈中复制/粘贴错误

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


【解决方案1】:

就我对您的错误的理解而言,它会抛出 Nullpontier,因为您在 Request.Form["rdActive"] 中接收到空值,因此当代码通过该操作时,会将 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)

检查参数

【讨论】:

  • 嘿,谢谢豪尔赫!为我工作:@Html.RadioButton("rdFake", "S",true)
【解决方案2】:

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

【讨论】:

    猜你喜欢
    • 2012-10-18
    • 2012-10-18
    • 1970-01-01
    • 2011-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多