S.No
|
ActionResult()
|
ViewResult()
|
1 |
What is ActionResult() ?
ActionResult() is a general result
type that can have several subtypes.
ActionResult() is an abstract
class.
ActionResult() is a base class for
ViewResult()
In MVC framework, it uses
ActionResult class to reference the object our action method
returns. And invokes ExecuteResult method on it.
|
What is ViewResult() ?
ViewResult()
renders a specifed view to the response stream.
ViewResult()
is a concrete class.
ViewResult()
is a derived class of ActionResult()
ViewResult is an implementation for
this abstract class (ActionResult class). It will try to find a
view page (usually aspx page) in some predefined
paths(/views/controllername/, /views/shared/, etc) by the given
view name.
|
2 |
What are the subtypes of ActionResult class?
. ViewResult
- Renders a specifed view to the response stream
Kindly look at the end of the table
for all derived types of ActionResult class.
|
What are the subtypes of ViewResult class?
As it is a concrete class, so
subtypes are not available for ViewResult class.
|
3 |
Example: Example -ActionResult - Implementing Dynamism:
Kindly look at the end of the table
|
Example: |
4 |
When to go for ActionResult class ?
If our action method may have
different behavior, like either render a view or perform a
redirection. We can use the more general base class ActionResult
as the return type.
|
When to go for ViewResult class ? If we are sure that our action method will return some view page, we can use ViewResult. |
Example -ActionResult - Implementing Dynamism:
"ActionResult" can be
used to exploit polymorphism and dynamism. So if we are returning
different types of view dynamically "ActionResult" is
the best thing. For example in the below code snippet we can see
we have a simple action called as "DynamicView".
Depending on the flag ("IsHtmlView") it will either
return "ViewResult" or "JsonResult".
Derived types of ActionResult class:
No comments:
Post a Comment