我想通過一個Ajax文章傳遞給我的控制器類型<int,int>
字典。 這裏的主要原因是後可以在這裏1-3之間的鍵值對(沒有這些值在編譯時就知道),並在未來可能上升到5傳遞字典到控制器asp.net mvc
另外,在文章中,我有以傳遞一些其他數據,如Id和名稱,這些數據都是正常的。
我將如何在javascript中構造這個詞典然後通過JQuery發送它並最終在控制器上接收它來處理?
編輯2: 我已經決定解決這個問題,每個值的職位,而不是試圖通過一本字典。
編輯: 這裏是我的功能源,所以你可以看到我想:
function BindAddMenuItem() {
$(".AddMenuItem").click(function (e) {
e.preventDefault();
//get header id from link by removing addmenuitem from this.id
var currentId = $(this).attr("id").replace("AddMenuItem", "");
//get itemnumber, itemname, itemdetails from textboxes with same header id
var restaurantId = jQuery.trim($("#RestaurantId").val());
var itemNumber = jQuery.trim($("#ItemNumber" + currentId).val());
var itemName = jQuery.trim($("#ItemName" + currentId).val());
var itemDetails = jQuery.trim($("#ItemDetails" + currentId).val());
var costs = new Object();
//select all textboxes with class "Header" + currentId
$(".Header" + currentId).each(function (i) {
var optionId = $(this).attr("id").replace("Option", "");
costs[optionId] = $(this).val();
});
$.ajax(
{
type: "POST",
url: "/Menu/AddMenuItem",
data: "reastaurantId=" + restaurantId + "&menuHeaderId=" + currentId + "&itemNumber=" + itemNumber + "&itemName=" + itemName + "&itemDetails=" + itemDetails + "&costs=" + costs,
dataType: "html",
success: function (result) {
var domElement = $(result);
$("#MenuContainer").replaceWith(domElement);
var newNum = parseInt(itemNumber) + 1;
$("#ItemNumber" + currentId).val(newNum);
BindAllBehaviours();
}
});
});
}
當傳遞字典像你建議我得到一個空對象。我已更新我的問題以顯示我的來源。謝謝 – ddd 2010-01-04 17:19:43
檢查我的編輯。 – 2010-01-04 18:55:46
我現在已經嘗試字典作爲字符串,整數和字符串,字符串。將帖子更改爲如何列出,但仍不顯示任何值。感謝你目前的幫助。我真的不知道如何才能正常工作 – ddd 2010-01-04 18:55:53