gpt4 book ai didi

asp.net-mvc - ViewResult V/S ActionResult

转载 作者:行者123 更新时间:2023-12-04 16:27:15 28 4
gpt4 key购买 nike

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

最佳答案

ActionResult是基类型,而 ViewResultActionResult 的子类型.

当您设置 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/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com