如何在asp.net mvc中从控制器调用javascript警报
我需要从asp.net mvc中的控制器中的操作返回警报消息,是否可能?我尝试获取页面实例并调用RegisterJavaScript函数,但页面实例始终为null,因为我了解到它现在是MVC处理程序而不是页面处理程序。我知道我可以返回javscript结果,但我的操作是在重定向之前重定向到另一个url,我需要显示消息。谁能帮帮我吗?我不能使用viewbag或viewdata,因为它位于我需要显示消息的帖子上,并且在帖子完成后不会返回到视图。因此,无法检查变量值并显示消息如何在asp.net mvc中从控制器调用javascript警报,javascript,c#,asp.net,asp.net-mvc,Javascript,C#,Asp.net,Asp.net Mvc,我需要从asp.net mvc中的控制器中的操作返回警报消息,是否可能?我尝试获取页面实例并调用RegisterJavaScript函数,但页面实例始终为null,因为我了解到它现在是MVC处理程序而不是页面处理程序。我知道我可以返回javscript结果,但我的操作是在重定向之前重定向到另一个url,我需要显示消息。谁能帮帮我吗?我不能使用viewbag或viewdata,因为它位于我需要显示消息的帖子上,并且在帖子完成后不会返回到视图。因此,无法检查变量值并显示消息 public Act
public ActionResult RedirectToURL(ObjectData obj)
{
if (ModelState.IsValid())
{
process code here
}
else
{
ModelState.AddModelError("Error", "Fill in the required fields");
return View("TestView", ObjectData);
}
//Post data to the URL.
//Prepare Data to Post
//Need JavaScript call here....
return this.RedirectAndPost(Url, dataToPost);
}
您必须在查看时使用viewbag来传输消息 此外,您还需要设置viewbag值不为null的条件,以便在其显示为“无”消息时不会显示警报
@if(ViewBag.message!=null)
{
<script type="text/javascript">
alert( "@(ViewBag.AlertMessage)");
</script>
}
@if(ViewBag.message!=null)
{
警报(@(ViewBag.AlertMessage)”;
}
如果您需要在发布之前或发布期间向客户端显示消息,为什么不让“提交”按钮触发一些显示消息的javascript,然后继续发布?您无法显示来自服务器代码的警报,因为代码在服务器上,而javascript是客户端代码。我不是100%清楚你的代码流程,如果你能解释重定向发生的原因等。可能会提供另一种解决方案。你最好使用JavaScript将Ajax返回到服务器,然后读取状态代码,这样你就可以将JavaScript重定向到所述位置,然后让初始控制器索引相应地填充模型。