Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/14.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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 Mvc - Fatal编程技术网

Asp.net mvc 如何在控制器中初始化值?

Asp.net mvc 如何在控制器中初始化值?,asp.net-mvc,Asp.net Mvc,我有下拉列表: @Html.DropDownListFor(m => m.Register.SelectCompany, Model.Register.Company, "Please select") 我有一个模型: [Required(ErrorMessage = "*")] [Display(Name = "Company name")] public int SelecCompanyId{ get; set; } public System.Web.Mvc.SelectList

我有下拉列表:

@Html.DropDownListFor(m => m.Register.SelectCompany, Model.Register.Company, "Please select")
我有一个模型:

[Required(ErrorMessage = "*")]
[Display(Name = "Company name")]
public int SelecCompanyId{ get; set; }

public System.Web.Mvc.SelectList CompanyName{ get; set; }
当我尝试这样做时:

companyAccount.Company = (ICompany)Company.Find(model.Register.SelectCompanyId);
我犯了一个错误

具有注册表项“Register.SelectCompanyId”的ViewData项为 类型为“System.Int32”,但必须为 “IEnumerable.”

我还有一节课是:

public class Company: ICompany
{
    public int Id { get; set; }
    public string CompanyName  { get; set; }
}

出现此错误的原因是您的
SelectList
null
。但您的代码似乎不匹配-方法绑定到属性
Register。SelectCompany
但您的模型只有属性
SelecCompanyId
,然后是
DropDownListFor()中的
SelectList
Register.Company
但您的模型只有属性
CompanyName
我得到所有公司,但问题是当我选择一个并单击提交按钮时,我得到一个错误…因为companyAccount.Company是一种ICompany…所以我不知道如何初始化它与此无关。这是因为您的
选择列表
null
。我猜您返回了视图,但没有在POST方法中重新分配
SelectList
(就像您在GET方法中所做的那样)是的……就是这样……tnx:)