相关疑难解决方法(0)

ASP.NET MVC控制器方法必须返回ActionResult吗?

作为ASP.NET MVC的新手,我一直想知道Controller方法的签名.在我看过的所有示例中,它们似乎总是返回ActionResult,即使它们实际返回ViewResult实例或类似实例.

这是一个常见的例子:

public ActionResult Index()
{
    return this.View();
}
Run Code Online (Sandbox Code Playgroud)

在这种情况下,将方法声明为public ViewResult Index()并获得更强的类型支持是不是更有意义?

实验表明这是有效的,所以似乎有可能.

我确实意识到可能存在需要多态的情况(例如,如果你只想在某些情况下重定向,但在其他情况下显示视图),但如果方法总是返回一个视图,我会发现更多的ViewResult可取的.

就未来的兼容性而言,ActionResult显然提供了更强大的签名,但如果有人控制整个代码库,则总是可以将方法的签名更改为更通用的返回类型(如果将来需要它).

是否有其他我不了解的注意事项,或者我应该继续并使用特定的返回类型声明我的控制器方法?

polymorphism asp.net-mvc actionresult viewresult

57
推荐指数
4
解决办法
3万
查看次数

何时使用JsonResult而不是ActionResult

我一直无法找到关于这个问题的具体答案.我已经查看了这个问题以及其他地方的帖子和后续帖子,但我真正读到的只是JsonResult有一个硬编码的内容类型,并且确实没有任何性能提升.

如果两个结果都可以返回Json,为什么需要在ActionResult上使用JsonResult.

public ActionResult()
{
    return Json(foo)
}

public JsonResult()
{
    return Json(bar)
}
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释ActionResult无法完成工作并且必须使用JsonResult的情况.如果没有,为什么JsonResult首先存在.

c# asp.net-mvc json return-value asp.net-mvc-4

22
推荐指数
1
解决办法
2万
查看次数

RedirectToAction MVC2的问题 - 无法将类型'System.Web.Mvc.RedirectToRouteResult'隐式转换为'System.Web.Mvc.ViewResult'

我在尝试使用RedirectToAction时收到此错误,任何人都可以提供有关为什么会发生这种情况的任何建议,我之前使用过这个没有任何问题,我一定是缺少一些东西.

无法将类型'System.Web.Mvc.RedirectToRouteResult'隐式转换为'System.Web.Mvc.ViewResult'

 [HttpPost]
    public ViewResult Edit(Customer customer)
    {
        if (ModelState.IsValid)
        {
            customersRepository.SaveCustomer(customer);
            TempData["message"] = customer.CustomerName + " has been saved.";
            return RedirectToAction("Index");
        }

        else //validation error, so redisplay the same view
            return View(customer);

    }
Run Code Online (Sandbox Code Playgroud)

问候

利亚姆

asp.net redirecttoaction asp.net-mvc-2

14
推荐指数
1
解决办法
9805
查看次数

ViewResult V/S ActionResult

如何决定是使用ActionResult还是ViewResult?我知道ActionResult是一个以ViewResult作为子类型的抽象类,但我已经看到了将这两个用于相同功能的示例.它们之间有什么区别吗?

asp.net-mvc asp.net-mvc-3

5
推荐指数
1
解决办法
1万
查看次数

MVC项目PartialViewResult,ActionResult,ViewResult类有什么区别?

MVC项目有什么区别

PartialViewResult

ActionResult

ViewResult

班?

谁能发帖简介?

model-view-controller asp.net-mvc asp.net-mvc-3

3
推荐指数
1
解决办法
5057
查看次数