【发布时间】:2015-08-11 03:04:52
【问题描述】:
当用户单击表单输入旁边的“帮助”图标或输入未通过验证规则时,我的 Web 表单会在叠加层中显示消息。
这些消息有时在用户通过数据输入表单工作时动态组合;消息的内容基于在其他输入元素中输入的值;因此消息不能是静态的,并且作为数据帮助消息内容保存在每个 HTML 元素中。
到目前为止,我一直在做这个客户端,但正在学习 MVC,并且想知道如何使用更改 Razor 视图的服务器端代码来完成同样的事情。
在客户端方法中,以下 javascript 切换 div 的可见性并注入 HTML 字符串以显示给用户。
function overlay(msgHTML) {
el = document.getElementById("overlay");
el.style.visibility = (el.style.visibility == "visible") ? "hidden" : "visible";
if (el.style.visibility=="visible") {
msg = document.getElementById("errmsg");
msg.innerHTML = msgHTML;
}
}
MVC5 与 Razor 的对应功能是什么?控制器中的 C# 如何切换 div 的可见性,或切换 css 类;以及如何注入错误消息内容?
同样,当用户使用表单时,这必须一遍又一遍地发生。表单第一次渲染的时候是未知的,所以它必须使用 Ajax 来完成。
【问题讨论】:
-
请解释任何反对意见,因为我刚刚学习 MVC,不知道我的要求是否违反了范式。
标签: ajax razor asp.net-mvc-5