2009-05-05 82 views
1

確定。所以我在頁面上有兩個元素,這些元素不在一個表單中。我需要通過JQuery.Ajax()方法將這些內容發回給我的控制器。現在,我的問題是,雖然我做的參數正確後,他們只有這樣做,如果我將它們設置爲字符串,它們包括在值的參數名稱。所以:多個參數之間用POST和MVC

Public ActionResult Method(String Age1, String Age2) 
{ 
    Age1=23; Age2=43 
} 

我得到

Public ActionResult Method(String Age1, String Age2) 
{ 
    Age1="Age1=23"; Age2="Age2=43" 
} 

這是刺激性的。有沒有什麼辦法可以確保MVC能夠正確映射參數並且只採用正確的值?我真的想這樣做:

Public ActionResult Method(Int32 Age1, Int32 Age2) 
{ 
    Age1="Age1=23"; Age2="Age2=43" 
} 

jQuery的電話:

$.ajax{(

//other stuff 
data: { Age1: $('.id').val(), Age2: $('.id2').val() }; 
)}; 

哎呀,那是因爲在我實際的代碼我使用序列化! DUH!

+0

你可能包括髮布到此操作的jQuery調用嗎? – 2009-05-05 20:33:08

+0

在我看來,這正是那種事情JSON的是發明了 – 2009-05-05 21:17:44

回答

2

老實說,我看不出什麼毛病,你在做什麼,只要你通過$就通過實際的數字23和43,而不是「AGE-1 = 23」和「AGE2歲= 43」。如果你是這樣,int肯定不會工作,因爲框架不能將這些字符串轉換爲整數。

這可能是值得它來改變你的阿賈克斯()調用這個,只是爲了看看會發生什麼。

data: { 
    Age1: parseInt($('.id').val()), 
    Age2: parseInt($('.id2').val()) 
}