MVC3页面 - IsPostback之类的功能

时间:2011-11-26 00:25:11

标签: asp.net-mvc-3 httprequest

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

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

由于

3 个答案:

答案 0 :(得分:18)

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

在MVC上,你可以在IsPostBack中找到最接近public ActionResult Index() { if (Request.HttpMethod == "POST") { // Do something } return View(); } 的内容:

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

    return RedirectToAction("Index");
}    

因此,

{{1}}

答案 1 :(得分:3)

我可能还建议您在控制器基类中将其实现为属性,如:

protected bool IsPostback 
{
    get { return Request.HttpMethod == "POST"; }
}

-Marc

答案 2 :(得分:0)

实际上是这样的:

    if (Request.Method == "POST")
    {

    }