会话绑定@Html.DropDownListFor

本文关键字:DropDownListFor @Html 绑定 会话 | 更新日期: 2023-09-27 18:14:44

我有一个方法如下在我的控制器

代码
        var companies = ...
        List<CompanyModel> listOfCompanies = new List<CompanyModel>();
        foreach (var item in companies)
        {
             listOfCompanies.Add(new CompanyModel(item.CompanyId, item.CompanyName));
        }
        ViewBag.Company = listOfCompanies;

视图页面

 @Html.DropDownListFor(m => m.Company, new SelectList(ViewBag.Company, "id", "name"), "Select company", new { @class = "form-control" })

这是工作得很好,我试图尝试使用会话而不是viewbag在这里。

所以我做了

        var companies = ...
        List<CompanyModel> listOfCompanies = new List<CompanyModel>();
        foreach (var item in companies)
        {
            listOfCompanies.Add(new CompanyModel(item.CompanyId, item.CompanyName));
        }
        Session["CompanyData"] = listOfCompanies;

查看页面

  @Html.DropDownListFor(m => m.Company, new SelectList(Model.Company, "id", "name", Session["CompanyData"]), "Select company", new { @class = "form-control" })

但是这个不能正常工作,实现这个的路径是什么

会话绑定@Html.DropDownListFor

您是否尝试过简单地将ViewBag替换为Session ?

@Html.DropDownListFor(m => m.Company, new SelectList((List<CompanyModel>)Session["CompanyData"], "id", "name"), "Select company", new { @class = "form-control" })