在我的应用程序中,我在_layout文件中有一个带有dropdownlist的表单。
在视图中提交表单后(我有很多视图具有相同的_Layout文件)转到一些其他控制器视图。
但是我总是遇到错误
对象引用未设置为下拉列表中对象的实例。
我的_HomeLayout.cshtml
@using (Ajax.BeginForm("Allpost", "User", new AjaxOptions() { HttpMethod = "GET", UpdateTargetId = "frmEmp" }))
{
@Html.Partial("_AllCategories", Model)
}
局部视图
@model Models.HomePageSearchVM
@Html.DropDownListFor(m => m.catlist, Model.CategoriesList, "Select Categorie")
HomeController
public ActionResult _AllCategories()
{
HomePageSearchVM pasvm = new HomePageSearchVM();
pasvm.CategoriesList = new MultiSelectList(db.CategoriesList, "CatId", "CategorieName");
return PartialView("_AllCategories", pasvm);
}
HomePageSearchVM.cs
namespace Entities
{
public partial class HomePageSearchVM
{
public virtual IEnumerable<SelectListItem> CategoriesList { get; set; }
[NotMapped]
public string[] catlist { get; set; }
public string search { get; set; }
}
}
查看首页
@model Models.PostallVM
@{
Layout = "~/Views/Shared/_HomeLayout.cshtml";
}
----- some code ----
错误
对象引用未设置为对象的实例。
如何在_Layout文件中的 Form 中使用一些文本和下拉字段,并在Layout中调用模型。我对具有不同模型的许多视图使用相同的布局文件。
希望您能理解我的问题。