当前位置: 移动技术网 > IT编程>开发语言>.net > 浅谈Asp.net Mvc之Action如何传多个参数的方法

浅谈Asp.net Mvc之Action如何传多个参数的方法

2017年12月08日  | 移动技术网IT编程  | 我要评论

梦之城时时彩平台,儿女传奇之烽火姻缘,大灾建

最近,工作上有一个需要:用户查询日志文件信息,查看某一个具体日志信息,可能同时查看该日志所在日期的其他日志信息列表。

为完成此功能,我打算在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"。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网