MVC3 = >> return EmptyResult()什么时候返回这个好主意?

SF *_*per 36 asp.net-mvc-3

什么时候从控制器返回"EmptyResult()"是个好主意

Ser*_*eit 38

你基本上会用它来表示你没有对动作的结果做任何事情.

来自MSDN:

表示不执行任何操作的结果,例如不返回任何内容的控制器操作方法.

我亲自使用过a中定义的动作AsyncController,所以如果你有异步动作,例如:

public void SendMailAsync() { }
Run Code Online (Sandbox Code Playgroud)

基本上是一个动作AsnycController,你需要一个xxxCompleted动作(按惯例)

public virtual ActionResult SendMailCompleted
{
    // do whatever
    return new EmptyResult();
}
Run Code Online (Sandbox Code Playgroud)

由于这不是一个意图由用户调用而是由后台任务调用的动作,所以无论如何我都不会对结果做任何事情.


dom*_*mer 10

我在创建RESTful Web服务时使用过它.例如,在执行POST或DELETE操作时,HTTP状态代码本身可以传达足够的信息.

  • 你可以使用Httpstatuscoderesult而不是emptyresult (14认同)

Jak*_*tad 5

当ajax执行不需要在UI上进行反射/确认的操作时.

  • 但是,如果我返回空...不是页面变成空白?或者当它是一个Ajax调用时,结果为空意味着..在客户端上没有发生什么? (2认同)