Asp.net mvc 2 &引用;行动“;在Asp.NETMVC中
我知道我在问一个奇怪的问题,但我不得不问这个问题,因为这个问题已经在我的脑海里很久了 当我们在创建新的Asp.net mvc 2 &引用;行动“;在Asp.NETMVC中,asp.net-mvc-2,Asp.net Mvc 2,我知道我在问一个奇怪的问题,但我不得不问这个问题,因为这个问题已经在我的脑海里很久了 当我们在创建新的“Actionresult”时,即当我们 在public ActionResult YouAction(){…}第一行中写入'ActionResult' 出现的IntelliSense帮助是 “Action”,我的问题是 Asp.Net MVC中的“操作”,在 我作为Asp.netmvcdeveloper的10个月职业生涯我没有使用过它,但是 看看它的名字“Action”,我认为它只与MVC有关
“Actionresult”
时,即当我们
在public ActionResult YouAction(){…}
第一行中写入'ActionResult'
出现的IntelliSense帮助是
“Action”
,我的问题是
Asp.Net MVC中的“操作”
,在
我作为Asp.netmvc
developer的10个月职业生涯我没有使用过它,但是
看看它的名字“Action”,我认为它只与MVC有关
谢谢 是来自System.Action命名空间的委托
MSDN:封装具有单个参数且不返回值的方法
它不是MVC的内置操作结果类型之一
- 查看结果
- 副总统
- 重定向结果
- 重定向路由结果
- 内容结果
- JsonResult
- JavaScriptResult
- 文件结果
- 空结果
委托
类型,它返回一个TResult
泛型类型
这些代理有两种风格,通用和非通用。非泛型操作
不接受任何参数,并返回void
。泛型类型作为参数的泛型(但也不返回值)
这同样适用于Func
,但所有版本都是通用的。它可以并返回泛型类型
在“过去”使用委托时,您必须首先定义委托
,然后使用它。像这样:
public delegate void ShowValue();
然后像这样使用它
ShowValue showMethod = testName.DisplayToWindow;
showMethod();
但有了行动,你只需要做到:
Action showMethod = delegate() { testName.DisplayToWindow();} ;
showMethod();
另一件好事是,匿名lambda的本质是Action
或Func
兼容,因此您可以这样做:
Action showMethod = () => testName.DisplayToWindow();
showMethod();
这非常方便,但更重要的是,Microsoft创建了这些
delegate
类型,以便他们自己的框架能够使用标准接口。您也可以在自己的代码中利用这些类型。操作
和出现在关联菜单中的操作
都是委托。正如@AshwiniVerma所写,它们与ActionMethods
毫无共同之处。@Ghukas…thankzz..如需评论..请回答以下问题..Action与MVC无关,它们是.NET framework基类的一部分,可用于任何.NET环境(Windows窗体、控制台应用程序、WebForms、MVC等)有关操作的信息,请参阅本文