浅谈Asp.net Mvc之Action如何传多个参数的方法
2017-08-21 16:40
441 查看
最近,工作上有一个需要:用户查询日志文件信息,查看某一个具体日志信息,可能同时查看该日志所在日期的其他日志信息列表。
为完成此功能,我打算在URL中传入了两个参数,一个记录此日志时间,另外一个记录日志的主键ID,因此,准备从Asp.net MVC的路由入手。
在Global.asax文件中,默认路由如下。
routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}", // 带有参数的 URL new { controller = "Logon", action = "Logon", id = UrlParameter.Optional } // 参数默认值 );
这个路由中,在Action后面只能传入一个参数,不能传入多个参数,因此,需要增加路由信息。
在Global文件中,新增了一个路由,路由名称为“Default1",代码如下
//第一种路由 传两个参数过去 routes.MapRoute("Default1", "{controller}/{action}/{Parma1}/{Parma2}", new { controller = "", action = "" }, new { });
上述路由,可以传入两个参数。
在此,我们建一个TestController,添加一个Test.cshtml页面,在TestController写下代码,如下
public ActionResult Test(string date, string id) { ViewData["date"] = date; ViewData["id"] = id; return View(); }
在Test.cshtml页面中写如下代码
要查询的日志时间为:@ViewData["date"]<br /> 要查询的日志ID为:@ViewData["id"]<br />
运行编译器,然后在浏览器中输入 ”http://localhost:11507/Test/Test/2013-12-18/5“,页面显示如下
要查询的日志时间为:2013-12-18
要查询的日志ID为:5
现在又有一个问题来了,需要传入多个参数,怎么办呢?当然,只有新添加新的路由”Default2"。代码如下
//第二种路由 传多个参数,只是获得的第二个下划线后的所以数据 routes.MapRoute("Default2", "{controller}/{action}/{*id}", new { controller = "", action = "" } );
运行编译器,然后在浏览器中输入 ”http://localhost:11507/Test/Test/2013-12-18/5/xianrongbin“,页面显示如下
要查询的日志时间为:
要查询的日志ID为:2013-12-18/5/xianrongbin
这里我们只能得到Action后面所有的参数,对此,我们可以解析出来,比如日志时间是 “2013-12-18",日志ID为”5“,日志操作者是”xianrongbin"。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
您可能感兴趣的文章:
- 详解Asp.Net MVC――控制器与动作(Controller And Action)
- ASP.NET实现MVC中获取当前URL、controller及action的方法
- 详解ASP.NET MVC下的异步Action的定义和执行原理
- 解读ASP.NET 5 & MVC6系列教程(10):Controller与Action
- ASP.NET MVC使用ActionFilterAttribute实现权限限制的方法(附demo源码下载)
- asp.net MVC利用ActionFilterAttribute过滤关键字的方法
- 使用ASP.NET MVC 4 Async Action+jQuery实现消息通知机制的实现代码
- ASP.NET MVC:Filter和Action的执行介绍
相关文章推荐
- 【MVC 过滤器的应用】ASP.NET MVC 如何统计 Action 方法的执行时间
- Asp.net Mvc之Action如何传多个参数
- Asp.net Mvc之Action如何传多个参数
- Asp.net Mvc之Action如何传多个参数
- ASP.NET MVC :Action参数绑定的数据源优先顺序
- 深入分析 ASP.NET Mvc 1.0 – 4. 使用ModelBinder绑定Action的参数
- Asp.net Mvc Framework可以在Controller中使用的Url.Action方法
- ASP.NET MVC中在Action获取提交的表单数据方法总结 .
- ASP.NET MVC如何使用Ajax的辅助方法
- asp.net mvc框架中,ajax传递json对象,并自动转换成参数对象的方法
- ASP.NET MVC中的ActionFilter是如何执行的?
- 方法代码ASP.NET MVC如何使用Ajax的辅助方法
- ASP.NET MVC中的ActionFilter是如何执行的?
- 如何让ASP.NET Web API的Action方法在希望的Culture下执行
- ASP.NET MVC如何使用Ajax的辅助方法
- Asp.Net MVC对类HtmlHelper的自定义扩展方法以及如何调用
- ASP.NET MVC中在Action获取提交的表单数据方法总结
- Asp.net Mvc Codeplex Preview 5 第三篇 实现Action参数传递繁杂类型
- Asp.Net MVC中不指定View Name时如何返回ActionResult的
- ASP.NET MVC单元测试时如何对含有ModelState.IsValid的Action进行测试