Невозможно отправить список данных модели в представление с помощью asp.net mvcC#

Место общения программистов C#
Ответить
Anonymous
 Невозможно отправить список данных модели в представление с помощью asp.net mvc

Сообщение Anonymous »

У меня есть список, хранящийся в локальном хранилище, и я получаю эти значения с помощью JavaScript и отправляю его в метод POST моего контроллера с помощью вызова AJAX.
В контроллере метода POST в цикле for вызывается API для получения сведений в формате JSON. После десериализации она сохраняется в списке модели, и эту модель необходимо отправить в представление для отображения списка данных.
Данные модели должны быть перешел в представление, но этого не происходит, и я не уверен, в чем я ошибаюсь.
Модель:
public class Fruit
{
[JsonProperty("name")]
public string FruitName
{
get;
set;
}

[JsonProperty("image")]
public string ImageUrl
{
get;
set;
}
}

public class FruitDataModel
{
public List FruitData
{
get;
set;
}
}

контроллер:
[HttpGet]
public ActionResult FruitList()
{
return View();
}

[Route("FruitController/FruitList")][HttpPost]
public async Task < ActionResult > FruitList(List fruitItems)
{
var items = fruitItems;
List results = new List ();
foreach(var item in items) {
var result = await CallApiAsync(item); //method returns the List of Fruit data
results.Add(result);
}

var model = new FruitDataModel {
FruitData = results
};

return View("~/Views/FruitList", model); // where the model has the data inside it.
}

View: @model Fruit.Models.FruitDataModel@ {
ViewBag.Title = "FruitList";
var index = 0;
}

@if (Model != null) {
foreach(var item in FruitData)
{
[*]@item.FruitName
}
}

JS для отправки значений локального хранилища в метод постконтроллера:
// I am using jQuery 3.3.1
const value = JSON.parse(localStorage.getItem('fruitItems')) || [];
console.log(value);

$.ajax({
url: '@Url.Action("FruitList", "Fruit")',
type: 'POST',
contentType: 'application/json; charset=utf-8',
data: JSON.stringify(value), // Send localStorage value
dataType: 'json',
success: function (response) {
console.log('Data sent successfully');
},
error: function (xhr, status, error) {
console.error('Error sending data: ', error);
}
});


Подробнее здесь: https://stackoverflow.com/questions/789 ... sp-net-mvc
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»