我想在mvc 4控制器中调用一个jquery警告框但是我该怎么做?
继承我的razor.cshtml中的jquery代码
$( function errMsgBox()
{
alert( "Please select the Correct Activity and Task" );
window.location = "/Memory/Create";
} );
继承我的控制器代码
catch (Exception ex2)
{
return View("Create");
~~here is i want to call the jquery method~~
}
答案 0 :(得分:1)
您无法在控制器中使用Javascript。如果要将错误消息传递到页面中,则必须使用ViewBag
或返回模型。
这是一个快速的ViewBag
示例:
在控制器中
protected ActionResult Index()
{
ViewBag.ErrorMessage = "";
//some code
try
{
//more code
} catch(Exception ex)
{
ViewBag.ErrorMessage = "alertError('" + ex.Message + "');";
}
return View();
}
在Razor视图中:
<script type="text/javascript">
function alertError(msg) {
alert(msg);
//some code
}
@ViewBag.ErrorMessage
</script>
与@NewAmbition建议类似,在页面完成加载后调用它:
<script type="text/javascript">
function alertError(msg) {
alert(msg);
//some code
}
$(function() {
@ViewBag.ErrorMessage
});
</script>
答案 1 :(得分:0)
在控制器中:
catch (Exception ex2)
{
ViewBag.ErrorMsg = "Any string you want";
return View("Create");
}
然后在视图“创建”中:
@if(ViewBag.ErrorMsg == "Any string you want")
{
<script type="text/javascript">
alert( "Please select the Correct Activity and Task" );
</script>
}
我希望这适合你。
答案 2 :(得分:0)
你可以试试这样的东西,如果还可以的话。
public ActionResult Index() {
var script = "alert('Message from Server');";
return JavaScript(script);
}