繁体   English   中英

Html.DropDownList不显示SelectList选择的值

[英]Html.DropDownList doesn't display SelectList selected value

我已经阅读了许多有关该主题的问题,但没有设法找到解决此特定问题的方法。

控制者

public ActionResult Index() {
    string categorie = "--Tout--";
    string souscategorie = "--Tout--";

    if (Session["Categorie"] != null) {
        categorie = Session["Categorie"].ToString();
    }

    if (Session["SousCategorie"] != null) {
        souscategorie = Session["SousCategorie"].ToString();
    }

    SelectList cats = new SelectList(GetCategories(), categorie);
    SelectList sCats = new SelectList(GetSousCategories(), souscategorie);

    ViewBag.Categories = cats;
    ViewBag.SousCategories = sCats;

    using(DAL.WebShopEntities entities = new WebShopEntities()) {
        return View(entities.Article.ToList());
    }
}

视图

@Html.Label("Catégories")
@Html.DropDownList("Categories", (SelectList)ViewBag.Categories, new { @class = "form-control dropdownlist" })

<br />

@Html.Label("Sous-Catégories")
@Html.DropDownList("SousCategories", (SelectList)ViewBag.SousCategories, new { @class = "form-control dropdownlist" })

调试视图时,我可以清楚地看到会话中存储的期权已发送到视图。 但是在浏览器中签入时显示索引0。 这让我感到困惑,因为SelectList的行为正常,我认为问题出在DropDown上,但是可能是什么问题呢?

您可以尝试更改Viewbag属性名称并重试吗?

尝试类别=> CategoriesListSousCategories => SousCategoriesList

public ActionResult Index() {
    string categorie = "--Tout--";
    string souscategorie = "--Tout--";

    if (Session["Categorie"] != null) {
        categorie = Session["Categorie"].ToString();
    }

    if (Session["SousCategorie"] != null) {
        souscategorie = Session["SousCategorie"].ToString();
    }

    SelectList cats = new SelectList(GetCategories(), categorie);
    SelectList sCats = new SelectList(GetSousCategories(), souscategorie);

    ViewBag.CategoriesList = cats;
    ViewBag.SousCategoriesList = sCats;

    using(DAL.WebShopEntities entities = new WebShopEntities()) {
        return View(entities.Article.ToList());
    }
}



@Html.Label("Catégories")
@Html.DropDownList("Categories", (SelectList)ViewBag.CategoriesList, new { @class = "form-control dropdownlist" })

<br />

@Html.Label("Sous-Catégories")
@Html.DropDownList("SousCategories", (SelectList)ViewBag.SousCategoriesList, new { @class = "form-control dropdownlist" })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM