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 + @""");"); }
参考资料:http://www.tuicool.com/articles/VJR7Zv
http://mazharkaunain.blogspot.com/2011/02/how-to-use-aspnet-mvc-javascriptresult.html