繁体   English   中英

使用@ Html.DropDownListFor进行会话绑定

[英]session bind with @Html.DropDownListFor

我的控制器中有以下一种方法

        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" })

但这不能正常工作,实现这一目标的途径是什么

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

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

暂无
暂无

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

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