簡體   English   中英

如何在 mvc 4 控制器中顯示警報消息?

[英]How to show alert message in mvc 4 controller?

我嘗試通過 if-else 條件在 mvc 控制器中顯示警告框。但警告框不顯示。我的錯誤在哪里?

控制器

public ActionResult Index()
{
    int userId = Convert.ToInt32(Session["userId"].ToString());

    if (WebMatrix.WebData.WebSecurity.IsAuthenticated)
    {
        if (userId == 90043) 
        {
            return View();
        }
        else
        {
            TempData["Message"] = "You are not authorized.";
            return RedirectToAction("Index", "Home");
        }
    }
    else
    {
        return RedirectToAction("Index", "Home");
    }
}
TempData["msg"] = "<script>alert('Change succesfully');</script>";
@Html.Raw(TempData["msg"])

用這個:

return JavaScript(alert("Hello this is an alert"));

要么:

return Content("<script language='javascript' type='text/javascript'>alert('Thanks for Feedback!');</script>");

您無法顯示控制器的警報。 從客戶端到服務器的通信方式有一種。因此服務器不能告訴客戶端做任何事情。 客戶端請求並且服務器給出響應。

因此,當響應返回時,您需要使用javascript來顯示某種消息框。

要么

在調用控制器操作的按鈕上使用jquery

<script>
 $(document).ready(function(){
  $("#submitButton").on("click",function()
  {
   alert('Your Message');
  });

});
<script>

無法顯示來自控制器的警報。 因為MVC視圖和控制器完全相互分離。 您只能在視圖中顯示信息。 因此,需要使用ViewBagViewDataTempData將要從控制器顯示的信息傳遞給視圖。 如果您正在嘗試顯示存儲在TempData["Message"] ,則可以通過添加少量javascript行在視圖頁面中執行。

<script>
  alert(@TempData["Message"]);
</script>
<a href="@Url.Action("DeleteBlog")" class="btn btn-sm btn-danger" onclick="return confirm ('Are you sure want to delete blog?');">
Response.Write(@"<script language='javascript'>alert('Message: 
\n" + "Hi!" + " .');</script>");

我知道這不是典型的警報框,但我希望它可以幫助某人。

這種擴展使您能夠使用引導程序在HTML頁面內顯示通知。

它很容易實現,並且工作正常。 這是項目的github頁面 ,包括一些演示圖像。

在控制器中

TempData["err"] = "Something happenend";

**

在你看來

**

var error = '@TempData["err"]'; 如果(錯誤){

警報(錯誤);

}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM