【发布时间】:2017-05-18 01:09:22
【问题描述】:
我是stackoverflow的新手,也是asp.net的新手,我想问一下如何在mvc asp.net中显示消息框。这是我的代码,但它会返回 NullReferenceException。感谢您的帮助。`
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult myfunction(MyViewModels myModel)
{
System.Web.UI.ScriptManager script_manager = new System.Web.UI.ScriptManager();
if (ModelState.IsValid) {
createRequest(myModel);
script_manager.Page.ClientScript.RegisterStartupScript(this.GetType(), "showMyMessage", "ShowMessage('Requested Successfully.');", true);
return RedirectToAction("GeneratePDF", "Forms", myModel);
}
else
{
script_manager.Page.ClientScript.RegisterStartupScript(this.GetType(), "showMyMessage", "ShowMessage('Requested failed.');", true);
return RedirectToAction("Index");
}
}`
【问题讨论】:
-
RegisterStartupScript()是 Web 表单代码,而不是 MVC。使用 javascript。 -
请参考 Can i return javascript from MVC controller to View via Ajax request 返回 JavaScript ...
-
您应该通过 AJAX 请求将错误消息返回为
JavaScriptResult,并使用alert方法在带有JS 的客户端显示消息框。 -
我建议了解前端编码,在 Javascript/HTML/CSS 中显示模式/弹出框是正确的方法。大约在 1999 年 Microsoft ASP.NET 发明此选项时,从后端将脚本注入前端并不是一个好主意。我从未见过有人在 ASP.NET MVC 应用程序中使用 ScriptManger,这是一个 Web 窗体实现概念
-
你是如何在 ASP.NET MVC 应用程序中引用 ScriptManager 的? stackoverflow.com/questions/4740326/…stackoverflow.com/questions/16587704/…
标签: c# asp.net asp.net-mvc asp.net-mvc-4