Creé una función en javascript como esa:
function addNewManufacturer() {
var name = $("#id-manuf-name").val();
var address = $("#id-manuf-address").val();
var phone = $("#id-manuf-phone").val();
var sendInfo = {
Name: name,
Address: address,
Phone: phone
};
$.ajax({
type: "POST",
url: "/Home/Add",
dataType: "json",
success: function (msg) {
if (msg) {
alert("Somebody" + name + " was added in list !");
location.reload(true);
} else {
alert("Cannot add to list !");
}
},
data: sendInfo
});
}
Llamé al jquery.json-2.3.min.jsarchivo de script y lo usé como toJSON(array)método.
En el controlador, tengo esta Addacción
[HttpPost]
public ActionResult Add(PersonSheets sendInfo) {
bool success = _addSomethingInList.AddNewSomething( sendInfo );
return this.Json( new {
msg = success
});
}
Pero a sendInfomedida que el parámetro método se vuelve nulo.
El modelo:
public struct PersonSheets
{
public int Id;
public string Name;
public string Address;
public string Phone;
}
public class PersonModel
{
private List<PersonSheets> _list;
public PersonModel() {
_list= GetFakeData();
}
public bool AddNewSomething(PersonSheets info) {
if ( (info as object) == null ) {
throw new ArgumentException( "Person list cannot be empty", "info" );
}
PersonSheets item= new PersonSheets();
item.Id = GetMaximumIdValueFromList( _list) + 1;
item.Name = info.Name;
item.Address = info.Address;
item.Phone = info.Phone;
_list.Add(item);
return true;
}
}
¿Cómo podría hacerlo en el método de acción cuando los datos se enviaron con POST?
No se como usar. Además, ¿es posible enviar la respuesta (a ajax) a través de JSON?
jquery
ajax
asp.net-mvc
json
Ojos de serpiente
fuente
fuente

Respuestas:
Crear un modelo
Controladores como abajo
Javascript
fuente
y en acción
puedes unir tu matriz de esta manera
Espero que esto le pueda ayudar.
fuente
Uso
JSON.stringify(<data>).Cambie su código:
data: sendInfoadata: JSON.stringify(sendInfo). Espero que esto le pueda ayudar.fuente
Para publicar JSON, tendrá que stringificarlo.
JSON.stringifyy establece laprocessDataopción en falso.fuente
Your PersonSheets tiene una propiedad
int Id,Idno está en la publicación, por lo que falla la vinculación de modelos. Hacer Id nulable (int?) O enviar al menos Id = 0 con el POst.fuente
No necesita llamar
$.toJSONy agregartraditional = trueharía.
fuente
Add(object[] sendInfo)será nulo.