首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SelectList复选框

SelectList复选框
EN

Stack Overflow用户
提问于 2014-12-28 04:13:45
回答 1查看 973关注 0票数 0

我的应用程序是MVC 5,试图使用以下方法开发多选中复选框:

代码语言:javascript
复制
public static Dictionary<int, string> AdditionalInfo = new Dictionary<int, string>()
        {
            { 1, "Exercise" },
            { 2, "Diet" } 
        };

        public static int MapAdditionalInfo (string value)
            {
            return (from v in AdditionalInfo
                    where v.Value == value
                    select v.Key).FirstOrDefault();
            }

        public static string MapAdditionalInfo (int? value)
            {
            return (from v in AdditionalInfo
                    where v.Key == value
                    select v.Value).FirstOrDefault();
            }

        public string AdditionalInfo
            {
            get {  return MapAdditionalInfo(AdditionalInfoID); }
            set {  AdditionalInfoID = MapAdditionalInfo(value); }
            }

在观点中:

代码语言:javascript
复制
   @foreach (SelectListItem item in (IEnumerable<SelectListItem>)ViewData["Info"] )
      {
         <label><input value="@item.Value" name="AdditionalInfoID" id="AdditionalInfoID" type='checkbox' checked="@item.Selected" class="checkbox-inline" /><span class='lbl padding-4'>@item.Value </span></label>
      }

在主计长中:

代码语言:javascript
复制
ViewData["Info"] = MyModel.AdditionalInfo;

我得到以下错误:

代码语言:javascript
复制
Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.Int32,System.String]' to type 'System.Collections.Generic.IEnumerable`1[System.Web.Mvc.SelectListItem]'.

希望您能就如何解决这个错误提出建议,或者如果有一个更好的方法来开发复选框列表的例子。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-12-28 21:12:11

万一其他人有同样的问题,这里我是如何解决的:我把预期改为:

代码语言:javascript
复制
 @foreach (var item in (Dictionary<int, string>)ViewData["Info"])

以上代码的其余部分是相同的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27673638

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档