Передача простого списка строк для просмотра в MVC без использования модели - PullRequest
1 голос
/ 25 марта 2020

Я хотел бы создать представление, в котором перечислены ошибки, произошедшие при выполнении какого-либо действия в контроллере. Я знаю, как создавать представления при использовании модели, но можно ли это сделать без использования модели? Просто передав простой список строк?

Я создал действие для представления с ошибками:

    public ActionResult ListOfErrors(List<string> listOfErrors)
    {
        return View(listOfErrors);
    }

И представление для этого действия:

@model List<string>

<table>
    <thead>
        <tr>
            <th>
                Error
            </th>
        </tr>
    </thead>

    <tbody>
        @foreach (var item in Model)
        {
            <tr>
                <td>
                    @item.ToString();
                </td>
            </tr>
        }
    </tbody>
</table>

Если я делаю это так, я просто получаю System.Collections.Generic.List``1[System.String];. Что я должен изменить?

Ответы [ 2 ]

0 голосов
/ 25 марта 2020

Вы можете установить переменную в ViewBag с вашим желаемым именем (у меня есть ErrorList) в вашем действии:

public ActionResult Index()
{
    ViewBag.ErrorList = new List<string>() { "Error 1", "Error 2" };
    return View();
}

Затем вы можете использовать этот объект в своем представлении и делать свои маги c:

<ul>
@foreach (string error in (List<string>)ViewBag.ErrorList)
{
    <li>error</li>
}</ul>
0 голосов
/ 25 марта 2020
    public ActionResult ListOfErrors(List<string> listOfErrors)
    {
        ViewData["Data"]=listOfErrors;
        return View();
    }
...
 @foreach (var item in ViewData["Data"])
        {
            <tr>
                <td>
                    @item.ToString();
                </td>
            </tr>
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...