- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何决定是使用 ActionResult 还是 ViewResult?我知道 ActionResult 是一个抽象类,以 ViewResult 作为子类型,但我已经看到使用这两种实现相同功能的示例。它们之间有什么区别吗?
最佳答案
ActionResult
是基类型,而 ViewResult
是 ActionResult
的子类型.
当您设置 Action 的返回类型时 ActionResult
,您可以返回它的任何子类型,例如 Json,PartialView,View,RedirectToAction .
但是当你在这种情况下使用子类型时 ViewResult
您正在限制您的操作,它只会返回子类型作为结果,在这种情况下是 查看 .
当您使用 ActionResult
作为返回类型,您可以从 Action 返回以下内容(这意味着以下是 ActionResult 的子类型),如 所述论坛.asp.net :
ActionResult is a general result type that can have several subtypes (from "ASP.NET MVC 1.0 Quickly" Book):
a) ViewResult
Renders a specifed view to the response stream
b) PartialViewResult
Renders a specifed partial view to the response stream
c) EmptyResult
Basically does nothing; an empty response is given
d) RedirectResult
Performs an HTTP redirection to a specifed URL
e) RedirectToRouteResult
Performs an HTTP redirection to a URL that is determined by the routing engine, based on given route data
f) JsonResult
Serializes a given ViewData object to JSON format
g) JavaScriptResult
Returns a piece of JavaScript code that can be executed on the client
h) ContentResult
Writes content to the response stream without requiring a view
i) FileContentResult
Returns a fle to the client
j) FileStreamResult
Returns a fle to the client, which is provided by a Stream
k) FilePathResult
Returns a fle to the client
何时使用 ViewResult
如果您确定您的操作方法会返回一些 查看页面 ,您可以使用 查看结果 .但是,如果您的操作方法可能具有不同的行为,例如呈现 View 或执行重定向。您可以使用更通用的基类 操作结果 作为返回类型。
更多细节:
http://forums.asp.net/t/1448398.aspx
你也可以引用这里:
http://www.slideshare.net/umarali1981/difference-between-action-result-and-viewresult
关于asp.net-mvc - ViewResult V/S ActionResult,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24604106/
如果我只返回一个 View ,从 Task 返回它是否有性能差异? [HttpGet] public Task Index() { return Task.FromResult(View());
所以我用函数内部的代码替换了 Controller 函数上的 [Authorize Attribute] 并想尝试返回与属性相同的结果,这可能吗?必须做出进一步的改变? 我试图从一个返回 ViewRe
我对 SO 进行了搜索,看起来这个问题经常被问到。我已经能够让模拟工作,并且我也能够毫无问题地执行 OnActionExecuted() 。这是我的单元测试。注释行是失败的行,我确信我没有 mock
我正在 MVC 5 中创建一个测试项目。 我遇到了错误 Error 1 Cannot convert type 'System.Threading.Tasks.Task' to 'System.Web
我已经编写了这个 Controller 方法和这个测试。 Controller 方法: public async Task Metric(string type, string source) {
我在我的 ASP.NET MVC Controller 上使用自定义授权过滤器,如果用户在特定操作上的授权失败,它会将用户重定向到登录屏幕以外的 url。 这对于返回 View 的操作没有问题,但我的
ASP.NET MVC 中的 ViewResult() 和 ActionResult() 有什么区别? public ViewResult Index() { return View(); }
名为 ViewResult 的 Controller 结果和 PartialViewResult 之间有什么区别?更重要的是,什么时候使用PartialViewResult? 最佳答案 Partial
我有一个 asp.net mvc4 应用程序,当我将其发布到 azure 时,加载页面的时间太长。我安装了glimpse来检查问题出在哪里,它显示 ViewResult.ExecuteResult 是
在我的单元测试中,当我使用 View 的操作名称时,ViewResult.ViewName 属性始终为空: return View(model); or return View(); 这是设计使然吗?
我正在编写一个简单的 CMS。 我希望能够加载一个 View ,将其包含在母版页中,然后扫描 HTML 以便我可以替换一些自定义标签(例如 {{blog}} 与我自己的博客输出)然后服务由浏览器决定。
其他提到 null ViewResults 的问题实际上似乎指的是 null Models(我肯定做计划测试的东西)。我是测试新手。今天刚开始我的第一个使用 TDD 的项目。我找到的一些资源,甚至是新
public override void OnException(ExceptionContext filterContext) { string controllerName = (stri
在我的 Controller 中,我有一个 Edit GET 方法来显示 View ,还有一个 Edit POST 方法来保存更改: public ViewResult Edit(int id) {
我正在尝试创建集成测试以确保我的 View 中没有任何运行时错误。因此,我需要创建一个测试来检查 ViewResult.ExecuteResult() 是否正常工作,但我似乎遇到了麻烦。 我找到了 t
我试图在 OnActionExecuted 方法覆盖 ActionFilterAttribute 类中返回一个 ViewResult 像下面... public override void OnAct
尽管 StackOverflow 上有几篇关于 MVC 中的单元测试操作结果的帖子,但我有一个具体的问题.... 这是我在 Controller 中的 ActionResult: public Act
我制作了一个 MVC 项目,我想将模型设置为来自过滤器的 View 。 但是我不知道,我该怎么做。 模型: public class TestModel { public int ID { g
如何决定是使用 ActionResult 还是 ViewResult?我知道 ActionResult 是一个抽象类,以 ViewResult 作为子类型,但我已经看到使用这两种实现相同功能的示例。它
我正在编写一些单元测试,我有一个场景,如果条件为真, Controller 操作应该返回一个 HttpNotFoundResult,否则它应该返回一个 ViewResult 并在其中包含一个特定的模型
我是一名优秀的程序员,十分优秀!