gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 16:32:35 26 4
gpt4 key购买 nike

我创建了一个 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/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com