首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >DropDownList SelectList SelectedValue问题

DropDownList SelectList SelectedValue问题
EN

Stack Overflow用户
提问于 2011-04-05 15:33:08
回答 2查看 36.4K关注 0票数 2

可能重复:

How can I get this ASP.NET MVC SelectList to work?

到底是怎么回事?在DropDownList of MVC3中有什么bug吗?SelectedValue在标记中没有显示为实际选中的。

我在尝试不同的方法,什么都不管用。

代码语言:javascript
复制
public class SessionCategory
{
    public int Id { get; set; }
    public string Name { get; set; }
}

public static IEnumerable<SessionCategory> Categories
{
     get
      {
          var _dal = new DataLayer();
          return _dal.GetSesionCategories();
      }
}

@{
        var cats = Infrastructure.ViewModels.Session.Categories;
        var sl = new SelectList(cats, "Id", "Name",2);
}
@Html.DropDownList("categories", sl);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-05 15:38:58

我认为您需要将选定的值设置为字符串。使用详细的here等扩展方法也有一定的价值。

票数 6
EN

Stack Overflow用户

发布于 2011-04-05 15:37:53

尝试以下几点:

型号:

代码语言:javascript
复制
public class MyViewModel
{
    public int CategoryId { get; set; }
    public IEnumerable<SelectListItem> Categories { get; set; }
}

主计长:

代码语言:javascript
复制
public ActionResult Foo()
{
    var cats = _dal.GetSesionCategories();
    var model = new MyViewModel
    {
        // Preselect the category with id 2
        CategoryId = 2,

        // Ensure that cats has an item with id = 2
        Categories = cats.Select(c => new SelectListItem
        {
            Value = c.Id.ToString(),
            Text = c.Name
        })
    };
}

查看:

代码语言:javascript
复制
@Html.DropDownListFor(
    x => x.CategoryId,
    new SelectList(Model.Categories, "Value", "Text")
)
票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5554421

复制
相关文章

相似问题

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