代码之家  ›  专栏  ›  技术社区  ›  Rob

RadioButtonList异常

  •  4
  • Rob  · 技术社区  · 17 年前

    升级到beta后,html.radiobuttonlist出现问题。有人能告诉我我做错了什么吗?

    代码:

    <% Html.RadioButtonList(
        "voter" + voter.Id,
        new SelectList(new[]{"yes","no","abstain"}, "yes")).Each(x => Response.Write(x)); %>
    

    我得到的例外情况是:

    [ArgumentNullException: Value cannot be null.
    Parameter name: value]
       System.Web.Mvc.Html.InputExtensions.RadioButton(HtmlHelper htmlHelper, String name, Object value, Boolean isChecked, IDictionary`2 htmlAttributes) +214
       Microsoft.Web.Mvc.<>c__DisplayClass1.<RadioButtonListInternal>b__0(ListItem item) in c:\dd\Cicero\src\Mvc\main\src\MvcFutures\Mvc\RadioExtensions.cs:86
       System.Linq.WhereSelectListIterator`2.MoveNext() +107
       System.Linq.Buffer`1..ctor(IEnumerable`1 source) +259
       System.Linq.Enumerable.ToArray(IEnumerable`1 source) +81
       Microsoft.Web.Mvc.RadioListExtensions.RadioButtonListInternal(HtmlHelper htmlHelper, String name, SelectList selectList, Boolean usedViewData, IDictionary`2 htmlAttributes) in c:\dd\Cicero\src\Mvc\main\src\MvcFutures\Mvc\RadioExtensions.cs:88
       Microsoft.Web.Mvc.RadioListExtensions.RadioButtonList(HtmlHelper htmlHelper, String name, SelectList selectList) in c:\dd\Cicero\src\Mvc\main\src\MvcFutures\Mvc\RadioExtensions.cs:29
    

    非常感谢!
    抢劫

    1 回复  |  直到 17 年前
        1
  •  4
  •   Jason Whitehorn    17 年前

    看起来您可能在MVC框架中发现了一个bug。RadioButtonList的其他重载似乎工作得很好,但是特定的重载barfs。

    从反射镜(和使用堆栈跟踪)的角度来看,我觉得这一行的情况有点不对劲:

        return selectList.GetListItems().Select<ListItem, string>(delegate (ListItem item) {
        return htmlHelper.RadioButton(name, item.Value, item.Selected, htmlAttributes);
    }).ToArray<string>();
    

    在Microsoft.Web.MVC.RadioistExtensions.RadioButtonListInternal方法中。我认为这个代码在预览版5中运行良好?