MVC的JavaScriptResult使用

JavaScriptResult的使用有两个必要的前提:

1.Ajax

2.jquery.unobtrusive-ajax.js

使用代码示例

controller

public ActionResult JavaScriptTest()
{
    return JavaScript("alert(‘Controller.JavaScriptResult test‘);");
}

View

<script src="~/Scripts/jquery-1.11.2.js"></script>
<script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script>

<!--用Ajax生成-->
@Ajax.ActionLink("display", "Display", new AjaxOptions())
@using (Ajax.BeginForm("Display", new AjaxOptions()))
{ 
}
<!--html代码-->
<a data-ajax="true" href="/Area/SubNode/Display">display</a>
<form action="/Area/SubNode/Display?id=1" data-ajax="true" id="form0" method="post"></form>

仔细看View里面的代码,上面的script引用加上的jquery.unobtrusive-ajax.js,下面data-ajax=true。两者缺一不可,否则返回的网页就不是弹框,而是网页源代码。

成功:

技术分享

失败:

技术分享

还有一种失败的表现形式是下载页面文件。失败原因都是上面的两个方面没有写好。

 

JavaScriptResult里面的string除了可以调用系统的函数以外,还可以执行指定的js。

public ActionResult ServerMethod(int id, string name)
{
    string result = "客户端传递过来的id:" + id + ",名字:" + name;
    return JavaScript(@"$(""#result"").html(""" + result + @""");");
}

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。