Каков наилучший способ показать список моделей с предупреждением? - PullRequest
0 голосов
/ 08 марта 2011

В действии контроллера я получаю некоторый результат от метода, который возвращает Tuple.Первый элемент в кортеже - это IList, второй - IList.

Я хотел бы вернуть отображаемое представление, результат классическим способом: return View ("MyView", TheModel ");

но я бы тоже хотел обновить div для отображения сообщения об ошибке или предупреждения

Идея, как это сделать? Лучший способ?

Спасибо,

Ответы [ 2 ]

0 голосов
/ 08 марта 2011

В вашем действии контроллера:

ModelState.AddModelError("somekey", "some error message");

и по вашему мнению:

<div>
    <%: Html.ValidationMessage("somekey") %>
</div>

или включите сообщение об ошибке как часть вашей модели представления и в вашем представлении:

<div>
    <%: Model.ErrorMessage %>
</div>
0 голосов
/ 08 марта 2011

Вы можете использовать ViewData["Message"] = "Your message"; а затем в представлении вы помещаете это сообщение в свой div:

<div>
<%: ViewData["Message"] %>
</div>

Или вы можете сделать так, чтобы у простого ViewModel были свойства буксировки (что лучше, чем в предыдущем):

public class myViewModel{

public string Message {get;set;}
public IList<YourModel> ModelList {get;set;}

}

Действие будет выглядеть так:

public ActionResult Index()
{
    var modelList = new List//make your logic to fill YourModel List
    var viewModel = new myViewModel()
                        {
                            Message = "Your Message",
                            ModelList = modelList
                        };
    return View(viewModel);
}

, а затем создайте строго типизированный вид, чтобы показать ViewModel

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewPage<myViewModel>"%>

<div>
<%: Model.Message %>
</div>
    <table>
        <tr>
            <th>
                Model Values
            </th>
        </tr>

    <% foreach (var item in Model.ModelList) { %>

        <tr>
            <td>
                <%: item %>
            </td>
        </tr>

    <% } %>

    </table>

надеюсь, это помогло;)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...