Asp.net Mvc之Action如何传多个参数
来源:互联网 发布:mysql error 1045 编辑:程序博客网 时间:2024/06/03 21:07
最近,工作上有一个需要:用户查询日志文件信息,查看某一个具体日志信息,可能同时查看该日志所在日期的其他日志信息列表。
为完成此功能,我打算在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"。
Ok,整个完成~~~~
- Asp.net Mvc之Action如何传多个参数
- Asp.net Mvc之Action如何传多个参数
- asp.net mvc 之 Controller 和 Action
- ASP.NET MVC Action Filters
- asp.net mvc Action传值
- ASP.NET MVC Action Filters
- ASP.NET MVC 之Controller & Action (1)
- ASP.NET MVC 之Controller & Action (3)
- ASP.NET MVC 之Controller & Action (2)
- asp.net mvc之Url.Action()用法详解
- Asp.net Mvc Codeplex Preview 5 第三篇 实现Action参数传递繁杂类型
- Asp.net Mvc Codeplex Preview 5 第三篇 实现Action参数传递繁杂类型
- Asp.Net MVC 中获取Controller, Action 和参数的值
- ASP.NET MVC之Html.RenderAction 传参数 用户控件
- ASP.NET MVC的Action Filter
- ASP.NET MVC的Action Filter
- Asp.net MVC Action大全(转)
- ASP.NET MVC 4 Controller与Action
- php中正则替换函数ereg_replace用法实例
- Javascript LINQ
- IOS 部分的GCD 异步线程方法简述
- Java中protected语义解释
- js 格式化数字和格式化金额
- Asp.net Mvc之Action如何传多个参数
- 第六周 阅读程序二
- gearman-php的Net_Gearman库学习
- 第六周——项目三:人数不定的工资类
- linux shell paste命令用法
- 实时系统HBase读写优化--大量写入无障碍
- 第六周项目四:成员函数、友元函数和一般函数有区别(阅读程序)
- unity 3d 生成apk文件时,设置图标
- Spring MVC 3 深入总结