加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc-3 – 如何通过HTML类(Razor语法)在MVC视图中创建Rad

发布时间:2020-12-15 22:35:10 所属栏目:asp.Net 来源:网络整理
导读:我需要在RadioButtonList中显示我的列表,有些事情是这样的: @ Html.RadioButtonList(“FeatureList”,新的SelectList(ViewBag.Features)) 但是你知道HTML Helper类中没有RadioButtonList类,当我使用时: @ Html.RadioButton(“FeatureList”,新的SelectList
我需要在RadioButtonList中显示我的列表,有些事情是这样的:
@ Html.RadioButtonList(“FeatureList”,新的SelectList(ViewBag.Features))
但是你知道HTML Helper类中没有RadioButtonList类,当我使用时:
@ Html.RadioButton(“FeatureList”,新的SelectList(ViewBag.Features))
它显示了一个空白列表!
//控制器代码:
public ActionResult Rules()
        {

            ViewBag.Features = (from m in Db.Features where m.ParentID == 3 select m.Name);
            return View();

        }

解决方法

Html.RadioButton不接受(字符串,SelectList)参数,所以我认为空白列表是预期的;)

你可以1)

在模型中使用foreach而不是单选按钮值,并使用Html.RadioButton(string,Object)重载来迭代您的值

// Options could be a List<string> or other appropriate 
// data type for your Feature.Name
@foreach(var myValue in Model.Options) {
    @Html.RadioButton("nameOfList",myValue)
}

或2)

为列表编写自己的帮助方法 – 可能看起来像这样(我从来没有写过这样的,所以你的里程可能会有所不同)

public static MvcHtmlString RadioButtonList(this HtmlHelper helper,string NameOfList,List<string> RadioOptions) {

    StringBuilder sb = new StringBuilder();

    // put a similar foreach here
    foreach(var myOption in RadioOptions) {
        sb.Append(helper.RadioButton(NameOfList,myOption));
    }

    return new MvcHtmlString(sb.ToString());
}

然后在您的视图中调用您的新助手(假设Model.Options仍然是List或其他适当的数据类型)

@Html.RadioButtonList("nameOfList",Model.Options)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读