在我的应用程序中,如果有人没有成功登录我想收回并返回类似JavaScript警报的东西来通知他们。问题是我无法使用Ajax调用来返回此JavaScript警报。有没有其他的方式来返回某种排序或警报或消息?从没有Ajax的控制器返回asp.net MVC中的警报/消息?
0
A
回答
0
您可以将要显示的消息存储在TempData中(在控制器内的错误情况下)。然后返回一个视图来显示。
public const string FlashMessageTempDataKey = "_flash";
controller.TempData[FlashMessageTempDataKey] = "The Message (Grandmaster Flash and the Furious Five)";
然后检查TempData是否存在于您的视图中。
public static MvcHtmlString Flash(this HtmlHelper helper) {
var message = helper.ViewContext.Controller.TempData[FlashMessageTempDataKey] as string;
var sb = new StringBuilder();
if (message != null) {
sb.AppendLine("<script>");
sb.AppendLine("$(function() {");
sb.AppendFormat("flash('{0}');", HttpUtility.JavaScriptStringEncode(message));
sb.AppendLine("});</script>");
}
return MvcHtmlString.Create(sb.ToString());
}
使用此扩展方法作为@Html.Flash()
,例如,在_layout.cshtml中。它假定在页面上有一些全局的JS功能flash(message)
和jQuery来显示消息。
function flash(message) {
alert(message);
}
请注意,这个机制,该消息将在接下来的页面上显示的用户负载,这绝不能necessarely是触发错误(例如,如果他有多个浏览器窗口打开)的页面。
+0
谢谢!这工作完美 – RainMan
+0
很高兴我可以帮你:) –
相关问题
- 1. asp.net mvc 3从控制器操作返回消息ajax
- 2. 从控制器返回Json到View中的警报
- 3. ASP.NET MVC:通过控制器为AJAX调用返回控制
- 4. ASP.NET MVC AJAX调用返回值从控制器查看
- 5. ASP.NET MVC Ajax调用不返回从控制器Json数据
- 6. 返回从MVC控制器
- 7. 警报消息使用AJAX
- 8. 控制器没有返回json数据到视图在asp.net MVC Ajax
- 9. 从控制器动作发送SignalR警报消息
- 10. 控制器AJAX方法返回AJAX ActionLink
- 11. 警报消息不工作的AJAX
- 12. PHP从控制器返回值到Ajax
- 13. 显示来自控制器在asp.net mvc中的动作的javascript警报mvc
- 14. 控制器没有从Ajax URL调用?
- 15. 从Ajax调用返回MVC控制器的JSON响应
- 16. Ajax调用没有从控制器返回成功
- 17. 从asp.net的MVC控制器
- 18. 使用ASP.NET MVC控制主页中的消息控制
- 19. 返回MVC中的文件或ajax警报
- 20. ASP.Net MVC:访问控制器中的验证错误消息?
- 21. 解码从ASP.NET MVC 3控制器返回的Json数据
- 22. Asp.Net MVC - 从控制器动作返回纯的ViewModel
- 23. Ajax请求的asp.net的MVC控制器返回500 - 内部服务器错误
- 24. 警报消息
- 25. 警报消息
- 26. 从控制器显示的警报
- 27. 正确的404消息为缺少的ASP.Net MVC控制器
- 28. C#从MVC控制器返回纯Json
- 29. 从mvc控制器返回json
- 30. 从MVC控制器返回数据返回相同的视图
为什么你需要提醒?你是否没有使用正常的表单提交和验证帮助器方法来显示错误消息? – Shyju
我没有使用表单,因为我在这个页面上设置了多个不同按钮的页面设置方式都使用相同的ID文本框来运行,所以表单不起作用。 – RainMan
如果你没有表格,这是怎么回事“有人没有成功登录”? – Shyju