Quiero pasar un diccionario de tipo <int,int>
a mi controlador a través de una publicación de Ajax. La razón principal aquí es que la publicación puede tener entre 1-3 pares de valores clave aquí (ninguno de estos valores se conoce en tiempo de compilación) y en el futuro puede llegar hasta 5.pase el diccionario al controlador asp.net mvc
También en la publicación Tengo para pasar otros datos, como Id y name, que funcionan todos normalmente.
¿Cómo construiría este dictionay en el javascript y luego lo enviaría a través de la publicación JQuery y finalmente lo recibiría en el controlador para su procesamiento?
Editar 2: He decidido resolver esto solo con una publicación para cada valor en lugar de intentar pasar un diccionario.
EDIT: Aquí es mi fuente de la función para que pueda ver lo que estoy tratando:
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();
}
});
});
}
Al pasar el diccionario como sugiere, obtengo un objeto nulo. He actualizado mi pregunta para mostrar mi fuente. Gracias – ddd
Verifique mi edición. –
Ahora probé el diccionario como cadena, int y cadena, cadena.Cambió la publicación a la forma en que la lista y todavía no muestra ningún valor. Gracias por la ayuda hasta ahora. Realmente no sé de qué otra manera conseguir que esto funcione – ddd