Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc ASP.NET中的动态视图不一致_Asp.net Mvc - Fatal编程技术网

Asp.net mvc ASP.NET中的动态视图不一致

Asp.net mvc ASP.NET中的动态视图不一致,asp.net-mvc,Asp.net Mvc,这是行动方法: public ActionResult Index() { Company company = new Company("XXX"); ViewBag.Departments = new SelectList(company.Departments, "Id", "Name"); ViewBag.CompanyName = company.CompanyName;

这是行动方法:

public ActionResult Index()
        {
            Company company = new Company("XXX");

            ViewBag.Departments = new SelectList(company.Departments, "Id", "Name");
            ViewBag.CompanyName = company.CompanyName;

            return View();
        }
这是一种观点:

@Html.TextBox("CompanyName", (string)ViewBag.CompanyName)
<br />
@Html.DropDownList("Departments", "Select Department")
@Html.TextBox(“CompanyName”,(字符串)ViewBag.CompanyName)

@Html.DropDownList(“部门”、“选择部门”)

我知道“Departments”是属于ViewBag.Departments的动态代码,但是为什么文本框中没有动态代码,因为它仍然使用ViewBag.CompanyName,而不仅仅是使用“CompanyName”?

用于
HtmlHelper@Html.DropDownList(…)

MVC检查view bag dictionary是否已经有一个与我们为下拉列表元素输入的名称相同的集合。若我们并没有指定“使用帮助器选择项目列表”,它将尝试使用在视图包字典中找到的集合生成选项列表。如果要覆盖该行为,可以指定自己的列表,如下所示

使用查看行李数据

@Html.DropDownList("Departments", ViewBag.MyOptionList as SelectList)

请澄清您的具体问题或添加其他详细信息,以突出显示您所需的内容。正如目前所写的,很难准确地说出你在问什么。请参阅页面以获取澄清此问题的帮助。使用DropDownList html helper时,它会在视图中检查是否存在与您为元素提供的名称相同的集合,并尝试从中生成选项列表