zoukankan      html  css  js  c++  java
  • Asp.net Mvc之Action如何传多个参数

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

      为完成此功能,我打算在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,整个完成~~~~

  • 相关阅读:
    程序中的对话框应用(2)- ”另存为“对话框
    程序中的对话框应用(1)- ”打开“对话框
    Delphi常见报错
    用户界面设计(7)- 窗体上的状态栏应用(StatusBar)
    用户界面设计(6)- 窗体上的工具栏应用(ToolBar)
    用户界面设计(5)- 窗体上菜单的应用
    用户界面设计(4)- 窗体的控制
    用户界面设计(3)- 窗体的主要方法
    Delphi的类和对象(十二)- (TObject、TPersistent、TComponent、TControl、TWinControl、TCustomControl、TGraphicControl、TInterfacedObject)简单介绍
    安装 Visual Stuidio 2010 失败
  • 原文地址:https://www.cnblogs.com/xianrongbin/p/3470601.html
Copyright © 2011-2022 走看看