asp.net-mvc – 如何在.net mvc中使用私有操作方法?
发布时间:2020-12-16 07:06:14 所属栏目:asp.Net 来源:网络整理
导读:我怎样才能在控制器中使用私有动作方法?当我使用私人方法时,它是无法访问的.它会因“未找到资源”而引发错误. private ActionResult Index() { return View(); } 解决方法 您可以使用私有/受保护的ActionResult在公共操作之间共享逻辑. private ActionResul
我怎样才能在控制器中使用私有动作方法?当我使用私人方法时,它是无法访问的.它会因“未找到资源”而引发错误.
private ActionResult Index() { return View(); } 解决方法
您可以使用私有/受保护的ActionResult在公共操作之间共享逻辑.
private ActionResult SharedActionLogic( int foo ){ return new EmptyResult(); } public ActionResult PublicAction1(){ return SharedActionLogic( 1 ); } public ActionResult PublicAction2(){ return SharedActionLogic( 2 ); } 但是框架只会调用公共操作方法(参见下面的源代码).这是设计的. 从System.Web.Mvc中的内部类ActionMethodSelector: private void PopulateLookupTables() { // find potential matches from public,instance methods MethodInfo[] allMethods = ControllerType.GetMethods(BindingFlags.InvokeMethod | BindingFlags.Instance | BindingFlags.Public); // refine further if needed MethodInfo[] actionMethods = Array.FindAll(allMethods,IsValidActionMethod); // remainder of method omitted } 在控制器中使用非公共代码是很常见的,并且自动路由所有方法会违反预期行为并增加攻击足迹. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – Knockout JS发送到MVC 3
- asp.net – IIS将旧用户名返回到我的应用程序
- 【DevExpress v17.2新功能预告】DevExpress ASP.NET Schedu
- 我不能在ASP.NET MVC中做的事情
- ASP.NET OWIN自定义Cookie身份验证
- asp.net – 我可以重新发布或携带POST数据(如果是这样,我可
- asp.net-core-2.0 – 如何从Core 2 RazorPage ViewModel Ha
- ASP.NET MVC授权:角色的权限
- asp.net web-api – ASP.Net Web API模型绑定不工作像在MVC
- ASP.NET MVC – 将XHTML添加到验证错误消息中
推荐文章
站长推荐
- asp.net文本框 – 客户端textChanged事件不会触发
- asp.net – Fiddler:错误502代理错误
- asp.net-mvc – Chrome丢失了cookie
- asp.net 2.0中利用Ajax2.0实现JSON传送大量页面数
- asp.net-mvc – 如何从MVC 3中的View中将List或C
- asp.net – 在Web.config中读取和编辑配置
- asp.net-mvc – 如何GetBytes()在C#与UTF8编码与
- asp.net-mvc – 在每个请求上执行代码
- asp.net-mvc-3 – 可以重定向到新页面的Ajax.Beg
- asp.net-mvc – 将Elmah与WebApi一起使用时会记录
热点阅读