Ich möchte ein Wörterbuch des Typs <int,int>
an meinen Controller über eine Ajax-Post übergeben. Der Hauptgrund hier ist, dass die Post hier zwischen 1-3 Schlüsselwertpaaren haben kann (keiner dieser Werte ist zur Kompilierzeit bekannt) und in Zukunft kann es bis zu 5 gehen.pass Wörterbuch an Controller asp.net mvc
Auch in der Post habe ich um einige andere Daten, wie ID und Name, zu übergeben, die alle wie normal funktionieren.
Wie würde ich diesen Dictionay in der Javascript erstellen, dann senden Sie es über den JQuery Beitrag und schließlich erhalten es auf dem Controller zu verarbeiten?
Edit 2: Ich habe beschlossen, dies nur mit einem Beitrag für jeden Wert zu lösen, anstatt zu versuchen, ein Wörterbuch zu übergeben.
EDIT: Hier ist meine Quelle für die Funktion, so können Sie sehen, was ich versuche:
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();
}
});
});
}
Wenn Sie das Wörterbuch wie vorgeschlagen weitergeben, erhalte ich ein Null-Objekt. Ich habe meine Frage aktualisiert, um meine Quelle anzuzeigen. Danke – ddd
Überprüfen Sie meine Bearbeitung. –
Ich habe jetzt das Wörterbuch als String, Int und String, String versucht.Der Beitrag wurde so geändert, wie Sie ihn aufgelistet haben, und er zeigt immer noch keine Werte an. Danke für die Hilfe bis jetzt. Ich weiß nicht wirklich, wie ich das sonst so funktioniere – ddd