asp.net-mvc – MVC传递ID由“”分隔为动作
发布时间:2020-12-15 20:56:03 所属栏目:asp.Net 来源:网络整理
导读:我希望有可能通过以下URL类型访问操作: http://localhost/MyControllerName/MyActionName/Id1+Id2+Id3+Id4等 并按以下方式在代码中处理它: public ActionResult MyActionName(string[] ids){ return View(ids);} 解决方法 是网址中的保留符号.这意味着白色
我希望有可能通过以下URL类型访问操作:
http://localhost/MyControllerName/MyActionName/Id1+Id2+Id3+Id4等 并按以下方式在代码中处理它: public ActionResult MyActionName(string[] ids) { return View(ids); } 解决方法
是网址中的保留符号.这意味着白色空间.因此,为了实现您所寻找的目标,您可以编写自定义模型绑定器:
public class StringModelBinder : DefaultModelBinder { public override object BindModel(ControllerContext controllerContext,ModelBindingContext bindingContext) { var value = bindingContext.ValueProvider.GetValue(bindingContext.ModelName); if (value != null && !string.IsNullOrEmpty(value.AttemptedValue)) { return value.AttemptedValue.Split(' '); } return base.BindModel(controllerContext,bindingContext); } } 然后全局注册string []类型或使用 public ActionResult MyActionName( [ModelBinder(typeof(StringModelBinder))] string[] ids ) { return View(ids); } 显然,如果你想使用形式为/ MyControllerName / MyActionName / Id1 Id2 Id3 Id4的url将最后一部分绑定为一个名为ids的动作参数,你必须修改使用{id}的默认路由定义. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – ASP.NET MVC显示格式不会将DateTime格式化为
- Razor Engine,实现代码生成器的又一件利器
- asp.net – 我应该关心ASP .NET中的静态int(4字节)变量的线
- 如何在ASP.NET中创建一个简单的是/否弹出窗口,将结果返回给
- asp经典 – ASP检查请求方法
- asp.net-mvc-3 – 验证摘要消息中的链接
- asp.net-mvc – Asp.net Mvc:Ninject – IPrincipal
- asp.net-mvc – ViewData Dictionary的范围是什么?
- asp.net – 嵌套的web.config转换
- 使用Asp.net核心将PDF返回到浏览器
推荐文章
站长推荐
- asp.net-mvc – 如何构建,分区和构建大型MVC应用
- asp.net-mvc – 在Asp.net MVC中实现通用功能的位
- asp.net-core – 当前上下文中不存在名称“SqlSe
- asp.net-mvc-2 – 如何在控制器IoC框架不可知的情
- ASP.NET:跨应用程序的表单身份验证:匹配密码加
- asp.net-mvc – 在剃刀中循环MVC,生成的下拉列表
- 在为ASP.net构建期间缩小内联JavaScript?
- asp.net-mvc – Customer Feedback替代UserVoice
- 使用webforms的ASP.NET中的静态和动态控件之间有
- .net – 如何将包含日期的字符串转换为其他格式?
热点阅读