只需在页面默认操作结果和httppost之间填充一次viewbag

本文关键字:填充 之间 viewbag 一次 httppost 默认 结果 操作 | 更新日期: 2023-09-27 17:51:10

假设我在页面操作结果中填充一个viewbag对象,如下所示

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

这很好但是当我点击提交按钮时它会转到Httppost Action Result也就是

[HttpPost]
public ActionResult MiEmployeeDetails(FormCollection fc)
{
    return View();
}

我得到一个空引用异常在我的viewbag选项。那么在我的Httppost操作结果中我是否还需要重置在我的原始页面加载操作结果中创建的viewbag对象?

只需在页面默认操作结果和httppost之间填充一次viewbag

每个请求是完全独立的。如果从post中再次调用视图,则需要重新初始化所有视图数据。唯一的例外是在post

期间从客户端发送的数据