MVC3页面 - IsPostback之类的功能

Riv*_*ver 9 httprequest asp.net-mvc-3

我从_Layout.cshtml视图多次调用同一个控制器.所以在这个控制器中,如何在运行时发现它是否仍然是正在渲染的页面,或者是否正在制作全新的页面请求?

在asp.net中,你可以使用ispostback来解决这个问题.如何判断MVC3中的页面是否有新的请求?

谢谢

Joa*_*oao 18

对MVC没有这样的想法.你有可以处理POST,GET或两者的动作.您可以使用[HttpPost][HttpGet]属性过滤每个操作可以处理的内容.

在MVC上,你可以IsPostBack在你的行动中找到最接近的东西:

public ActionResult Index() 
{
    if (Request.HttpMethod == "POST") 
    {
        // Do something
    }

    return View();
}
Run Code Online (Sandbox Code Playgroud)

因此,

[HttpPost]
public ActionResult Create(CreateModel model) 
{
    if (Request.HttpMethod == "POST") // <-- always true
    {
        // Do something
    }

    return RedirectToAction("Index");
}    
Run Code Online (Sandbox Code Playgroud)