【问题标题】:MVC Radiobutton from ViewBagViewBag 中的 MVC 单选按钮
【发布时间】:2015-03-02 19:37:12
【问题描述】:

我在将数据从单选按钮传递到模型时遇到问题。

这是在我的控制器中:

ViewBag.allProjectAreas = db.ProjectAreas.ToList();

这是我的看法:

@foreach (var a in ViewBag.allProjectAreas)
        {                     
              @Html.RadioButtonFor(m => m.ProjectAreaID, a.ProjectAreaID)
              @a.ProjectAreaName
        }

我认为代码应该是这样的。我对 ProjectAreaName 的可视化没有任何问题,但我无法将数据从选中的单选按钮发送到模型。

这是错误:

“编译器错误消息:CS1973:“System.Web.Mvc.HtmlHelper”没有名为“RadioButtonFor”的适用方法,但似乎有一个名为“RadioButtonFor”的扩展方法。扩展方法无法动态调度。考虑强制转换动态参数或者在没有扩展方法语法的情况下调用扩展方法。”

【问题讨论】:

    标签: model-view-controller viewbag


    【解决方案1】:

    将类型从动态转换为实际。

    @foreach (var a in ViewBag.allProjectAreas as List<-*here comes your model*-)
        {                     
              @Html.RadioButtonFor(m => m.ProjectAreaID, a.ProjectAreaID)
              @a.ProjectAreaName
        }
    

    【讨论】:

      【解决方案2】:

      它说它无法理解 var 。在转换中要明确

      @foreach(CompleteYourModelName modelObject in ViewBag.allProjectAreas)
      {
        @Html.RadioButtonFor(modelObject.ProjectAreaID.ToString(), a.ProjectAreaID)
                @a.ProjectAreaName
      }
      

      例子

           @foreach (MVCDemo2.Models.Department dept in ViewBag.DepartmentList)
                  {
                      @Html.RadioButton("Department", dept.Id, dept.isSelected)
      @dept.Name;
                  }
      

      【讨论】:

        猜你喜欢
        • 2018-05-16
        • 2011-12-01
        • 2014-07-26
        • 2018-01-23
        • 1970-01-01
        • 2012-06-04
        • 1970-01-01
        • 2011-11-15
        • 1970-01-01
        相关资源
        最近更新 更多