淺談Asp.net Mvc之Action如何傳多個(gè)參數(shù)的方法
最近,工作上有一個(gè)需要:用戶查詢?nèi)罩疚募畔?,查看某一個(gè)具體日志信息,可能同時(shí)查看該日志所在日期的其他日志信息列表。
為完成此功能,我打算在URL中傳入了兩個(gè)參數(shù),一個(gè)記錄此日志時(shí)間,另外一個(gè)記錄日志的主鍵ID,因此,準(zhǔn)備從Asp.net MVC的路由入手。
在Global.asax文件中,默認(rèn)路由如下。
routes.MapRoute(
"Default", // 路由名稱
"{controller}/{action}/{id}", // 帶有參數(shù)的 URL
new { controller = "Logon", action = "Logon", id = UrlParameter.Optional } // 參數(shù)默認(rèn)值
);
這個(gè)路由中,在Action后面只能傳入一個(gè)參數(shù),不能傳入多個(gè)參數(shù),因此,需要增加路由信息。
在Global文件中,新增了一個(gè)路由,路由名稱為“Default1",代碼如下
//第一種路由 傳兩個(gè)參數(shù)過去
routes.MapRoute("Default1",
"{controller}/{action}/{Parma1}/{Parma2}",
new { controller = "", action = "" },
new { });
上述路由,可以傳入兩個(gè)參數(shù)。
在此,我們建一個(gè)TestController,添加一個(gè)Test.cshtml頁面,在TestController寫下代碼,如下
public ActionResult Test(string date, string id)
{
ViewData["date"] = date;
ViewData["id"] = id;
return View();
}
在Test.cshtml頁面中寫如下代碼
要查詢的日志時(shí)間為:@ViewData["date"]<br /> 要查詢的日志ID為:@ViewData["id"]<br />
運(yùn)行編譯器,然后在瀏覽器中輸入 ”http://localhost:11507/Test/Test/2013-12-18/5“,頁面顯示如下
要查詢的日志時(shí)間為:2013-12-18
要查詢的日志ID為:5
現(xiàn)在又有一個(gè)問題來了,需要傳入多個(gè)參數(shù),怎么辦呢?當(dāng)然,只有新添加新的路由”Default2"。代碼如下
//第二種路由 傳多個(gè)參數(shù),只是獲得的第二個(gè)下劃線后的所以數(shù)據(jù)
routes.MapRoute("Default2",
"{controller}/{action}/{*id}",
new { controller = "", action = "" }
);
運(yùn)行編譯器,然后在瀏覽器中輸入 ”http://localhost:11507/Test/Test/2013-12-18/5/xianrongbin“,頁面顯示如下
要查詢的日志時(shí)間為:
要查詢的日志ID為:2013-12-18/5/xianrongbin
這里我們只能得到Action后面所有的參數(shù),對(duì)此,我們可以解析出來,比如日志時(shí)間是 “2013-12-18",日志ID為”5“,日志操作者是”xianrongbin"。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 詳解ASP.NET Core WebApi 返回統(tǒng)一格式參數(shù)
- .NET/C#利用反射調(diào)用含ref或out參數(shù)的方法示例代碼
- Ajax提交參數(shù)的值中帶有html標(biāo)簽不能提交成功的解決辦法(ASP.NET)
- ASP.NET MVC后臺(tái)參數(shù)驗(yàn)證的幾種方式
- ASP.NET MVC傳送參數(shù)至服務(wù)端詳解及實(shí)例
- ASP.NET jquery ajax傳遞參數(shù)的實(shí)例
- .Net獲取URL中文參數(shù)值的亂碼問題解決方法總結(jié)
- 在ASP.NET 2.0中操作數(shù)據(jù)之六:編程設(shè)置ObjectDataSource的參數(shù)值
- .net core在服務(wù)器端獲取api傳遞的參數(shù)過程
相關(guān)文章
.NetCore手動(dòng)封裝日志組件的實(shí)現(xiàn)代碼
這篇文章主要介紹了.NetCore手動(dòng)封裝日志組件的實(shí)現(xiàn)代碼,封裝的目的是便于在項(xiàng)目里更加簡(jiǎn)單方便使用,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-03-03
談?wù)剬?duì).NET中async/await的理解
本文介紹了.NET中異步編程的概念,包括async和await關(guān)鍵字的使用,以及異步編程的性能提升機(jī)制,異步編程通過非阻塞操作提高了程序執(zhí)行效率,減少了主線程的等待時(shí)間,感興趣的朋友一起看看吧2025-03-03
詳解ASP.NET Core 在 JSON 文件中配置依賴注入
本篇文章主要介紹了詳解ASP.NET Core 在 JSON 文件中配置依賴注入 ,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-02-02
asp.net中一次性動(dòng)態(tài)綁定多個(gè)droplistdown
asp.net中一次性動(dòng)態(tài)綁定多個(gè)droplistdown的實(shí)現(xiàn)代碼,需要的朋友可以參考下。2011-10-10
一個(gè)事半功倍的c#方法 動(dòng)態(tài)注冊(cè)按鈕事件
前幾天在網(wǎng)上看見一個(gè)制作計(jì)算器的c#程序,其中有一個(gè)動(dòng)態(tài)注冊(cè)按鈕事件,覺的很有用。于是實(shí)際操作了一哈, 確實(shí)比較好。2010-04-04
Winform OpenFileDialog打開文件對(duì)話框
這篇文章主要為大家詳細(xì)介紹了Winform OpenFileDialog打開文件對(duì)話框 的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03

