在我的應用程序中,如果有人沒有成功登錄我想收回並返回類似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. 如何從控制器在asp.net mvc的返回JS定製警報
- 3. asp.net Ajax的提交事件顯示從控制器返回的警報
- 4. 如何在mvc 4控制器中顯示警報消息?
- 5. 如何在asp.net核心mvc控制器中顯示警報消息框?
- 6. ASP.NET MVC:通過控制器爲AJAX調用返回控制
- 7. 從控制器返回Json到View中的警報
- 8. ASP.NET MVC AJAX調用返回值從控制器查看
- 9. ASP.NET MVC Ajax調用不返回從控制器Json數據
- 10. 返回從MVC控制器
- 11. 在MVC控制器的Ajax調用中不顯示警報
- 12. 警報消息使用AJAX
- 13. 控制器沒有返回json數據到視圖在asp.net MVC Ajax
- 14. 從控制器動作發送SignalR警報消息
- 15. 警報控制消息和NSURLSession
- 16. 如何從ASP.NET MVC 4中的控制器返回JSON對象?
- 17. 更改警報消息與警報的按鈕沒有解僱
- 18. 顯示來自控制器在asp.net mvc中的動作的javascript警報mvc
- 19. 控制器AJAX方法返回AJAX ActionLink
- 20. 警報消息不工作的AJAX
- 21. 從asp.net的MVC控制器
- 22. PHP從控制器返回值到Ajax
- 23. 從Ajax調用返回MVC控制器的JSON響應
- 24. 控制器沒有從Ajax URL調用?
- 25. 使用ASP.NET MVC控制主頁中的消息控制
- 26. 如何在控制器中顯示警報消息
- 27. Ajax調用沒有從控制器返回成功
- 28. ASP.NET MVC 3 jquery警報沒有呈現
- 29. 返回MVC中的文件或ajax警報
- 30. ASP.NET控制器返回
爲什麼你需要提醒?你是否沒有使用正常的表單提交和驗證幫助器方法來顯示錯誤消息? – Shyju
我沒有使用表單,因爲我在這個頁面上設置了多個不同按鈕的頁面設置方式都使用相同的ID文本框來運行,所以表單不起作用。 – RainMan
如果你沒有表格,這是怎麼回事「有人沒有成功登錄」? – Shyju