C# MVC只需在页面默认操作结果和httppost之间填充一次viewbag
假设我在页面操作结果中填充了一个viewbag对象,如下所示C# MVC只需在页面默认操作结果和httppost之间填充一次viewbag,c#,model-view-controller,C#,Model View Controller,假设我在页面操作结果中填充了一个viewbag对象,如下所示 public ActionResult MiEmployeeDetails() { var employees = _db.geo_employees.Select(x => new SelectListItem { Value = x.name, Text = x.name }).ToList(); ViewBag.Employees = employees;
public ActionResult MiEmployeeDetails()
{
var employees = _db.geo_employees.Select(x => new SelectListItem
{
Value = x.name,
Text = x.name
}).ToList();
ViewBag.Employees = employees;
return View();
}
然后在我的视图中进行填充
<%= Html.DropDownList("Employees") %>
我的viewbag选项出现空引用异常。因此,在Httppost操作结果中,我是否还需要重置在原始页面加载操作结果中创建的viewbag对象?每个请求都是完全独立的。如果从post再次调用视图,则需要重新初始化所有视图数据。唯一的例外是post期间从客户端发送的数据ViewBags不会在post时发送回服务器。如果你想要它回来,你必须把它放在你的模型/表格里
[HttpPost]
public ActionResult MiEmployeeDetails(FormCollection fc)
{
return View();
}