gpt4 book ai didi

javascript - ASP.NET MVC 4 中的 Toast 通知

转载 作者:搜寻专家 更新时间:2023-11-01 05:22:54 24 4
gpt4 key购买 nike

我想在用户使用 Toastr 插件单击“添加到购物车”按钮时显示通知。基本上,当用户单击按钮时,它会执行“AddToCart”操作,然后重定向到索引页面。当页面出现时,它会检查 TempData 值,然后显示通知。

这是 Controller :

public ActionResult AddToCart(int id)
{


TempData["message"] = "Added";
return RedirectToAction("Index");
}

和 View :

@if (TempData["message"] != null)
{

<script type="text/javascript">
$(document).ready(function () {
toastr.success('Added')
})
</script>
}

更新它根据@Exception 的回答工作。但是,如果我使用 ajax,例如:

@Ajax.ActionLink("Add to cart", "AddToCart", "Home", new { id = item.ProductId }, new AjaxOptions { UpdateTargetId="abc"})

它不起作用。这可能是因为这条线:

$(document).ready(function ()

因为页面没有重新加载。我该如何解决?

但这行不通。请帮忙。提前致谢!

最佳答案

答案1:

<script type="text/javascript">
$(document).ready(function () {
if('@TempData["message"]' == "Added"){
toastr.success('Added');
}
else{ }
});
</script>

答案2:

尽管 TempData 在一次重定向中保留其值,但有时它会产生问题(建议避免使用 TempData),在这种情况下您可以这样做:

public ActionResult AddToCart(int id)
{
.........
return RedirectToAction("Index", new { message="Added" }); //Send Object Route//
}

public ActionResult Index(string message)
{
.........
if(!string.IsNullOrEmpty(message)) {
Viewbag.message=message;
}
return View();
}

<script type="text/javascript">
$(document).ready(function () {
if('@Viewbag.message' == "Added") {
toastr.success('Added');
}
else{ }
});
</script>

关于javascript - ASP.NET MVC 4 中的 Toast 通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25300557/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com