c# - 如何以编程方式获取 ValidationSummary 消息?

标签 c# jquery asp.net-mvc-2

我创建了一个 HtmlHelper 来帮助我显示一个 jQuery 模式对话框:我在 Controller 的 TempData 中设置了一条消息,如果该消息不为空,则助手编写一个 jquery + html 代码以在回发后显示弹出窗口。 但我需要将验证结果显示为一条消息(ValidationSummary 显示的消息相同),但我不知道如何完成此操作。有人能帮我吗?我的做法是否正确?

我的 helper.cs:

[...] 
        public static string ModalDialogNotifier(this HtmlHelper helper)
        {
            string message = "";
            if (helper.ViewContext.TempData["message"] != null)
                message = helper.ViewContext.TempData["message"].ToString();
        if (!String.IsNullOrEmpty(message))
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendLine("<script>$(document).ready(function() {$.blockUI({ message: $('#mdiag')});$('#mdiagok').click(function() {$.unblockUI();return false;});})</script>");
            sb.AppendFormat("<div id='mdiag'>{0}<input type='button' id='mdiagok' value='Ok' /></div>", message);
            return sb.ToString();
        }
        return string.Empty;
    }
[...]

我的 Controller :

 [HttpPost]
    [Authorize(Roles = "Admin")]
    public ActionResult Create(CreateUserModel Model)
    {
        if (!ModelState.IsValid)
        {
            this.TempData["message"] = "Model is not valid";
        }
        else
        {
           [...]
        }
        return View(Model);
    }

我的观点:

 [...]<%= Html.ModalDialogNotifier()%>[...]

最佳答案

你可以这样做:

StringBuilder sb = new StringBuilder();

foreach (ModelState state in ModelState.Values)
    foreach (ModelError error in state.Errors)
        sb.AppendFormat("<div>{0}</div>", error.ErrorMessage);

关于c# - 如何以编程方式获取 ValidationSummary 消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3963578/

相关文章:

c# - 为什么会出现 Service Bus 链接日志?

c# - Odata 未找到 NavigationLink 工厂

javascript - JQuery 自动完成为浏览器提供未找到成员错误 < ie 10

javascript - 如何计算可变高度

asp.net-mvc - 使用 Html.EditorFor 和 Html.TextBox 传递 HTML 属性和 [DisplayFormat]

c# - 多个串行端口读取仅在几分钟后挂起

c# - 设置变量默认值的好地方是什么?

javascript - 将类添加到动态表中当前 tr 的 td 的输入

c# - 将 DisplayFor 与嵌套属性的单个索引一起使用 - Lambda 参数不在范围内

带复选框的 asp.net mvc TreeView