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

发布于 2024-10-20 14:12:14 字数 196 浏览 1 评论 0原文

在控制器操作中,我从方法中获取一些结果,该方法返回一个元组。元组中的第一项是 IList,第二项是 IList。

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

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

知道如何做到这一点吗?最好的方法?

谢谢,

In a controller action, I get some result from a method, this method return a Tuple. The first item in the Tuple, is an IList, the second item is IList.

I'd like return a view to display, the result, the classic way :
return View("MyView", TheModel");

but I'd like update a div too to display error or warning message

An idea how do this ? The best way ?

Thanks,

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

夏花。依旧 2024-10-27 14:12:14

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

希望这会有所帮助;)

You could use
ViewData["Message"] = "Your message";
and then in the View you put this message in your div:

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

Or you could make simple ViewModel have tow properties (which is better than previous):

public class myViewModel{

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

}

The Action will look like this:

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);
}

and then make strongly typed view to show your 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>

hope this helped ;)

a√萤火虫的光℡ 2024-10-27 14:12:14

在您的控制器操作中:

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

和您的视图中:

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

或将错误消息包含在您的视图模型中并在您的视图中:

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

In your controller action:

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

and in your view:

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

or include the error message as part of your view model and in your view:

<div>
    <%: Model.ErrorMessage %>
</div>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文