淺談Asp.net Mvc之Action如何傳多個參數(shù)的方法
最近,工作上有一個需要:用戶查詢?nèi)罩疚募畔?,查看某一個具體日志信息,可能同時查看該日志所在日期的其他日志信息列表。
為完成此功能,我打算在URL中傳入了兩個參數(shù),一個記錄此日志時間,另外一個記錄日志的主鍵ID,因此,準備從Asp.net MVC的路由入手。
在Global.asax文件中,默認路由如下。
routes.MapRoute( "Default", // 路由名稱 "{controller}/{action}/{id}", // 帶有參數(shù)的 URL new { controller = "Logon", action = "Logon", id = UrlParameter.Optional } // 參數(shù)默認值 );
這個路由中,在Action后面只能傳入一個參數(shù),不能傳入多個參數(shù),因此,需要增加路由信息。
在Global文件中,新增了一個路由,路由名稱為“Default1",代碼如下
//第一種路由 傳兩個參數(shù)過去 routes.MapRoute("Default1", "{controller}/{action}/{Parma1}/{Parma2}", new { controller = "", action = "" }, new { });
上述路由,可以傳入兩個參數(shù)。
在此,我們建一個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
現(xiàn)在又有一個問題來了,需要傳入多個參數(shù),怎么辦呢?當(dāng)然,只有新添加新的路由”Default2"。代碼如下
//第二種路由 傳多個參數(shù),只是獲得的第二個下劃線后的所以數(shù)據(jù) 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后面所有的參數(shù),對此,我們可以解析出來,比如日志時間是 “2013-12-18",日志ID為”5“,日志操作者是”xianrongbin"。
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 詳解ASP.NET Core WebApi 返回統(tǒng)一格式參數(shù)
- .NET/C#利用反射調(diào)用含ref或out參數(shù)的方法示例代碼
- Ajax提交參數(shù)的值中帶有html標簽不能提交成功的解決辦法(ASP.NET)
- ASP.NET MVC后臺參數(shù)驗證的幾種方式
- ASP.NET MVC傳送參數(shù)至服務(wù)端詳解及實例
- ASP.NET jquery ajax傳遞參數(shù)的實例
- .Net獲取URL中文參數(shù)值的亂碼問題解決方法總結(jié)
- 在ASP.NET 2.0中操作數(shù)據(jù)之六:編程設(shè)置ObjectDataSource的參數(shù)值
- .net core在服務(wù)器端獲取api傳遞的參數(shù)過程
相關(guān)文章
ASP.NET在MVC中MaxLength特性設(shè)置無效的解決方法
這篇文章主要介紹了ASP.NET在MVC中MaxLength特性設(shè)置無效的解決方法,涉及對MVC中表單元素屬性的應(yīng)用技巧,需要的朋友可以參考下2014-11-11ASP.NET WebService中使用ASP.NET_SessionId的問題說明
proxy.CookieContainer存儲了客戶端的 ASP.NET_SessionId。這樣以后每次通過webservice 方法調(diào)用時,都會將ASP.NET_SessionId傳遞到服務(wù)器端。2011-09-09Asp.net中獲取應(yīng)用程序完整Url路徑的小例子
Asp.net中獲取應(yīng)用程序完整Url路徑的小例子,需要的朋友可以參考一下2013-06-06使用 Visual Studio 的“代碼度量值”來改進代碼質(zhì)量
代碼度量是一組軟件度量值,使開發(fā)人員可以更好地了解他們正在開發(fā)的代碼.這篇文章主要介紹了通過 Visual Studio 的“代碼度量值”來改進代碼質(zhì)量,需要的朋友可以參考下2017-11-11ASP.NET?MVC5網(wǎng)站開發(fā)用戶注冊(四)
上一次把基本框架搭建起來了,這次開始整Web部分,終于可以看到界面了小激動一下,web項目部分從用戶功能開始,基本有注冊,登錄、注銷、查找、查看、刪除等涉及Member區(qū)域和Manage區(qū)域,供大家參考,具體內(nèi)容如下2015-09-09