asp.net-mvc – MVC可选参数默认值
发布时间:2020-12-16 03:23:33 所属栏目:asp.Net 来源:网络整理
导读:我有以下MVC动作: [ActionName("order-brochure")]public ActionResult OrderBrochure(int brochureId,bool isModal = true){ return View(HomeModelBuilder.BuildOrderBrochureModel(brochureId,isModal,false));} 其中isModal是可选参数 除了在我的公司使
我有以下MVC动作:
[ActionName("order-brochure")] public ActionResult OrderBrochure(int brochureId,bool isModal = true) { return View(HomeModelBuilder.BuildOrderBrochureModel(brochureId,isModal,false)); } 其中isModal是可选参数 除了在我的公司使用代码分析时使用bool isModal = true之外,还有其他任何方法来设置此默认设置,并且这无法给出CA1026:不应使用默认参数 但是,我无法覆盖该方法,因为您不能有两个具有相同名称的操作,因为您将在以下行中收到错误: The current request for action 'order-brochure' on controller type 'HomeController' is ambiguous between the following action methods: System.Web.Mvc.ActionResult OrderBrochureModal(Int32,Boolean) on type MarshallsCoUkCommercial.Website.Controllers.HomeController System.Web.Mvc.ActionResult OrderBrochure(Int32) on type MarshallsCoUkCommercial.Website.Controllers.HomeController 如果我使用 public ActionResult OrderBrochure(int brochureId,bool isModal) 将isModal设置为UrlParameter.Optional 我无法测试isModal是否为null,因为它总是设置为false 解决方法
显然这条规则已经过时,不应该应用于C#4.0及更高版本.有关类似问题,请参阅
this discussion.
我想说只是禁用这条规则,因为它在MVC4中毫无意义. 但是,抑制规则可能不符合您的公司规则,那么您必须解决这个问题. (这些规则很愚蠢,当你不得不乱砍那些过时的废话时!) 其中一个选项是为每种情况设置一个自定义规则:指定可选参数的默认值. (对不起,找不到快速的实现) 或者,正如已经建议的那样使用可以为空的布尔值 public ActionResult OrderBrochure(int brochureId,bool? isModal) 然后在你的方法中检查isModel上的null. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 将ASP.NET Web API 2中值类型(C#)的.MinValue序列化为null
- asp.net-mvc – 首先在MVC4数据库中更改数据库后刷新控制器
- asp.net+js实现批量编码与解码的方法
- asp.net – 实体框架CTP5,代码优先.可选的导航属性
- asp.net-mvc – 即使使用AllowAnonymous,SimpleMembership密
- asp.net – Webapi,Webhost和Owin之间的关系
- asp.net-mvc – ASP.NET Web Api – 将对象发布到自定义动作
- asp.net – IIS多线程
- asp.net-mvc – 有一种方法我可以在ASP中调试路由. MVC5?
- asp.net-mvc – 为Azure Web角色定义缩放阈值
推荐文章
站长推荐
- asp.net阻止表单提交两次
- 如何使用ASP.NET MVC增加对AJAX JSON响应的2MB限
- asp.net-mvc – 没有html值的Razor属性
- asp.net-mvc – 使用ASP.NET MVC3进行客户端模型
- ASP.Net IIS7获取每个请求的CPU使用率
- asp.net – 我今天应该使用什么DOCTYPE?
- .net – 使用OData $select来从相关对象中挑选字
- asp.net-mvc – ASP MVC 3 RequireHttps属性将所
- asp.net-mvc – 同一页面上的ASP.NET MVC模型绑定
- asp.net-mvc-3 – 如何从@ Html.EditForModel()中
热点阅读