2010-03-08 59 views
0

我正在使用Ajax呈現部分形式遵循下面的教程(http://www.highoncoding.com/Articles/642_Creating_a_Stock_Widget_in_ASP_NET_MVC_Application.aspx),但在這個例子中參數不過去了,我一直沒能制定出如何做到這一點?asp mvc:如何使用jquery api將參數傳遞給控制器​​?

該代碼可以使用不帶參數

function GetDetails() { 
$("#divDetails").load('Details'); 
} 

這是我嘗試添加參數,但不工作(不能找到動作)

function GetDetails() { 
$("#divDetails").load('Details?Id=20'); 
} 

回答

0

jQuery.load() method可以接受一個對象,並將請求轉變爲一個POST,ASP.NET MVC應該完成剩下的工作。

function GetDetails() { 
    $("#divDetails").load('Details', {Id: 20}); 
} 

HTHS,
查爾斯

PS:

所以,如果你試試這個它應該工作。默認路由應該可以處理Controller/Action/Id,所以你應該可以做類似$("#divDetails").load('Controller/Details/20');

+0

這就是他的帖子中的同樣的事情,請參閱我對@Dave Swersky的回答的評論。 – 2010-03-08 23:04:34

+0

如果他試圖使用視圖操作參數,那麼這將不起作用。 – 2010-03-08 23:05:25

+0

@durilai - 不,它不是,添加對象將.load變成帖子。 @Dave Swersky - 是的,它應該在數據綁定到動作參數時工作ASP.NET MVC將檢查POST值。 – Charlino 2010-03-08 23:12:14

1

Paramters MVC中加入這樣的:

http://mysite.com/action/parameter

您的問號更改爲正斜槓,並確保您的路徑是從你的jQuery代碼正確引用。您可以在Firefox中使用Firebug或在IE中使用Fiddler來查看GET操作,以確保請求的URL正確形成。

+0

不只是替換應該是'Details/20' – 2010-03-08 23:03:58

+0

謝謝,這是行不通的;只要參數被稱爲Id – 2010-03-09 01:48:43

相關問題