如果满足特定条件,则将视图重定向到另一个视图

时间:2015-03-11 15:23:32

标签: asp.net-mvc-4 model-view-controller

我希望我的索引控制器根据登录用户的角色做两件事:

  1. 如果用户的角色是" Master",那么它应该继续加载索引视图,其中包含在网站上注册的公司列表。
  2. 如果用户的角色是"管理员",则视图应重定向到编辑视图,并将用户的公司详细信息预先加载到视图中。
  3. 这是我遇到麻烦的第二个动作。请考虑以下事项:

    public ActionResult Index()
    {
        if (Session["userid"] != null)
        {
            if (String.Compare(Convert.ToString(Session["userrole"]), "Master", StringComparison.InvariantCultureIgnoreCase) == 0)
                return View(db.Companies.ToList());
    
            return View("Edit", new Id = Convert.ToInt32(Session["companyid"])) // this doesn't work
        }
    
        return RedirectToAction("Index", "Home");
    }
    

    如何将用户重定向到另一个视图并预加载所需的数据?

    提前致谢!

1 个答案:

答案 0 :(得分:1)

public ActionResult Index()
{
    if (Session["userid"] != null)
    {
        if (String.Compare(Convert.ToString(Session["userrole"]), "Master", StringComparison.InvariantCultureIgnoreCase) == 0)
            return View(db.Companies.ToList());

        return RedirectToAction("Edit", new { id = Convert.ToInt32(Session["companyid"]});
    }

    return RedirectToAction("Index", "Home");
}

public ActionResult Edit(int id)
{
    ///Get your company by id here
}