2012-06-28 84 views
3

有無控制器:URL字符串參數到達爲空

public class MyController : Controller 
{ 
    [HttpGet] 
    public ActionResult MyAction(int iMode, string strSearch) 
    { 
     return View(); 
    } 
} 

在我看來,我有ID的DIV =中心

我執行下面的代碼在JavaScript

url = "/MyController/MyAction?iMode=7&strSearch=as"; 
$('#center').load(url); 

當我在第一行的行爲中調試他的斷點時,iMode變量顯示正確的值7,strSearch參數爲空。

任何幫助/建議將是最受歡迎的。

回答

5

只需要用符號來代替&

url = "/MyController/MyAction?iMode=7&strSearch=as";

+1

謝謝。現在運作良好。這個字符串是通過MVC helper function @ Url.Action(「MyAction」,「MyController」,new {iMode =「PLACEHOLDER」,strSearch =「PLACEHOLDER1」})生成的 然後我做了佔位符替換,但假設&成爲MVC的怪癖。 – user1250290

+0

哈哈是的,有很多怪癖..你應該使用jQuery Ajax中的數據對象來發送數據。它處理名稱值對,編碼,_etc._ – Innatepirate

0

感謝Innatepirate的小費。浪費了足夠的時間試圖弄清爲什麼控制器獲得空值。以&符號替換&取得了訣竅。順便說一句,我正在做簡單的年齡舊window.location.href =鏈接,仍然有問題。可能它的MVC解析和路由搞砸了。