我有一個帶有窗體的MVC3視圖,我想通過查詢字符串傳入參數。我的繼承人形式在MVC3中使用帶有表單的查詢字符串
@using (Html.BeginForm("LogOn", "Account", new { db = @Request.QueryString["db"] }, FormMethod.Post))
我的繼承人控制器
[HttpPost]
public ActionResult LogOn(LogOnModel model,string db)
當我點擊我的登錄按鈕,並通過代碼,帕拉姆分貝爲空。即時消息在傳遞這樣的:
http://localhost:64632/?db=someValue
我的路線是這樣的:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{db}", // URL with parameters
new { controller = "Account", action = "LogOn", db = UrlParameter.Optional } // Parameter defaults
);
我到底做錯了什麼?
爲什麼不能在模型中將'db'作爲屬性,將其設置爲該頁面的負載(它必須設置在查詢字符串的某處),然後把它放在一個隱藏的字段中,這樣當你提交表單時你有價值。默認的MVC模型綁定FTW :) – mattytommo
這是一個業務需求。當前的應用程序接受數據庫作爲查詢字符串參數,客戶端不想改變 – BoundForGlory
我想知道我們是否可以在視圖中使用@ Request.QueryString [「db」]'。你檢查過這個值是否設置正確? –