Я пытаюсь отправить некоторые данные с html-страницы на контроллер MVC. Он отправляется как FormData через ajax и обрабатывается в контроллере как FormCollection. Один из элементов - это массив объектов. Как я могу получить этот массив в контроллере?
client code================
var products = []
$('tr').each(function () {
var row = $(this);
var product = {};
product.Id = row.find('.id').val();
product.Id = row.find('.quantity').val();
products.push(product);
});
var data = new FormData();
data.append('PersonId', pid);
data.append('SubmitDate', sdate);
data.append('Products', products);
Server code=================
[HttpPost]
public ActionResult SalesData(FormCollection data)
{
String personId=data["PersonId"].ToString();
String submitDate=data["SubmitDate"].ToString();
//how to retrieve Products ??
}
Любая помощь?
Спасибо.
1 ответ
Попробуйте стригировать продукты и десериализовать их на сервере.
data.append('Products', JSON.stringify(products));
На сервере (предположим, что класс продукта с идентификатором, значением) с использованием JavaScriptSerializer
var serializer = new JavaScriptSerializer();
var productsStr = data["products"].ToString()
var deserializedProducts = serializer.Deserialize<List<Product>>(productsStr);
Похожие вопросы
Новые вопросы
c#
C# (произносится как «see Sharp») — это высокоуровневый мультипарадигменный язык программирования со статической типизацией, разработанный Microsoft. Код C# обычно нацелен на семейство инструментов и сред выполнения Microsoft .NET, которое включает в себя .NET, .NET Framework, .NET MAUI и Xamarin среди прочих. Используйте этот тег для ответов на вопросы о коде, написанном на C#, или о формальной спецификации C#.