我刚刚开始使用 MVC4,我看到的第一个操作方法有一些新的东西。我检查了互联网,找不到任何关于此的信息:
public ActionResult LogOn()
{
return ContextDependentView();
}
有谁知道 ContextDependentView 是什么?
对我来说有些新东西。
我刚刚开始使用 MVC4,我看到的第一个操作方法有一些新的东西。我检查了互联网,找不到任何关于此的信息:
public ActionResult LogOn()
{
return ContextDependentView();
}
有谁知道 ContextDependentView 是什么?
对我来说有些新东西。
它的目的是促进登录和注册操作的查看或部分查看操作结果。
private ActionResult ContextDependentView()
{
string actionName = ControllerContext.RouteData.GetRequiredString("action");
if (Request.QueryString["content"] != null)
{
ViewBag.FormAction = "Json" + actionName;
return PartialView();
}
else
{
ViewBag.FormAction = actionName;
return View();
}
}
与 MVC 中的其他事情一样,它是按约定完成的……这里的约定是当Request.QueryString
包含 a时?content=xxxx
,它会将“Json”添加到操作名称之前,将其填充为 ViewBag 属性并返回视图的部分版本。例如:
一个请求/Account/Login?content=test
将被解析为ViewBag.FormAction = "JsonLogin";
然后返回一个部分。
请求/Account/Login
没有内容查询字符串,因此其表单操作仍然存在ViewBag.FormAction = "Login";