ASP.NET Core MVC: как создать простую страницу с помощью IEnumerableC#

Место общения программистов C#
Ответить
Anonymous
 ASP.NET Core MVC: как создать простую страницу с помощью IEnumerable

Сообщение Anonymous »

У меня есть простой проект, на стартовой странице которого отображается список книг. Как сделать ту же страницу, но с отображением в виде XML?
Метод контроллера:
public IActionResult Index()
{
// stored procedure
var books = _context.Bookstable.FromSqlRaw("SelectAll").ToList();
return View(books);
}

Просмотр
@model IEnumerable;

@{
ViewData["Title"] = "Home Page";
Layout = "~/Views/Shared/_Layout.cshtml";
}





Author
Name

@foreach (var item in Model)
{

@item.Author

@item.Name


}



Мне нужно вернуть сериализованные данные из контроллера в виде XML, представление Razor принимает данные и отображает их.
По этой теме много вопросов, но я не нашел ответа на свой.
Это должно быть что-то вроде этого метода контроллера:
public IActionResult IndexXML()
{
var books = _context.Bookstable.FromSqlRaw("SelectAll").ToList();
// how to convert 'books' to XML?
booksXML =
return View(booksXML, "text/xml");
}

Следует ли мне создать новую таблицу (в SQL Server) с другим типом данных (XML)?
Нужно ли переписывать хранимые процедуры (было бы неплохо сохранить старые, но преобразовать данные после их получения)?
Вероятно, я упускаю что-то еще.
Просмотр
@* @model IEnumerable; need XMLstring *@

{ *@
Context.Response.ContentType = "text/xml";
} *@



{
ViewData["Title"] = "Home Page";
Layout = "~/Views/Shared/_Layout.cshtml";
}



XML



Author
Name

@foreach (@* ??????? *@)
{

@* ??????? *@

}




Подробнее здесь: https://stackoverflow.com/questions/797 ... merablexml
Ответить

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

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

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

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

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