显示带有警告消息的模型列表的最佳方法是什么?

时间:2011-03-08 10:37:01

标签: asp.net-mvc view controller devexpress

在一个控制器动作中,我从一个方法得到一些结果,这个方法返回一个元组。元组中的第一项是IList,第二项是IList。

我想返回一个视图来显示,结果,经典方式: return View(“MyView”,TheModel“);

但我也想更新div以显示错误或警告信息

一个想法怎么做?最好的方法?

谢谢,

2 个答案:

答案 0 :(得分:0)

你可以使用 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>

希望这有帮助;)

答案 1 :(得分:0)

在您的控制器操作中:

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

并在您看来:

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

或将错误消息作为视图模型的一部分包含在您的视图中:

<div>
    <%: Model.ErrorMessage %>
</div>