ASP.NET MVC 中使用JavaScriptResult
来源:互联网 发布:知阅小说网 vip账号 编辑:程序博客网 时间:2024/05/22 16:41
在浏览器地址栏输入地址,在页面上想通过脚本弹出一个框,看到Controller下有个JavaScript方法,返回的类型是JavaScriptResult,于是想用这个方法弹出框,
public ActionResult Index() { return this.JavaScript("<script>alert(“操作成功')</script>"); }
访问页面时,在火狐上显示的是js文本
在IE上是下载文件
查看响应头信息,Content Type 为application/x-javascript,返回的是js代码。
所以,不能访问页面时使用this.JavaScript输出脚本,弹出提示框。
可以使用this.Content输出脚本,弹出提示框,像这样
public ActionResult Index() { return this.Content("<script>alert('操作成功')</script>"); }
当然,也可以视图页面上写js,同样可以达到相同的效果。
那么,JavaScriptResult怎样用呢,可以在页面上使用jQuery方法 getScript,向服务器获取js代码,然后执行js代码,所以服务端代码就改成这样
public ActionResult Index() { return this.JavaScript("alert('操作成功');"); }
注意的是,不需要加上<script>标签,所以不要写成this.JavaScript(“<script>alert('操作成功');</script>”)。
那么在Index2页面上这样写,请求/home/index
<script> $.getScript("/home/index"); </script>
最后访问/home/index2页面会弹出一个框
那么this.Content和this.JavaScript有什么不同
this.Content的返回类型是ContentResult,this.JavaScript的返回类型是JavaScriptResult,
反编译ContentResult和JavaScriptResult,可以看到不同之处
JavaScriptResult设置ContetTypew为application/x-javascript,而ContentResult可以自定义ContentType,
既然这样,可以使用this.Content(“alert(‘操作成功’)”,“application/x-javascript,”)代替this.JavaScript(“alert(‘操作成功’)”)
public ActionResult Index() { return this.JavaScript("alert('操作成功');"); } public ActionResult ReplaceContentMethod() { return this.Content("alert('操作成功');", "application/x-javascript"); }
然后在Index2页面使用getScript分别请求/home/index ,/home/replacecontentmethod,看下效果
/home/index的响应头如下
/home/replacecontentmethod的响应头如下
可以看到,两者是一样的
- ASP.NET MVC 中使用JavaScriptResult
- ASP.NET MVC的JavaScriptResult
- MVC的JavaScriptResult使用
- 关于asp.net mvc JavaScriptResult的一些用法记录
- 了解ASP.NET MVC几种ActionResult的本质:JavaScriptResult & JsonResult
- 了解ASP.NET MVC几种ActionResult的本质:JavaScriptResult & JsonResult
- 了解ASP.NET MVC几种ActionResult的本质:JavaScriptResult & JsonResult
- 了解ASP.NET MVC几种ActionResult的本质:JavaScriptResult & JsonResult
- [Asp.net mvc]Asp.net mvc 中使用LocalStorage
- [Asp.net mvc] 在Asp.net mvc 中使用MiniProfiler
- Asp.net Mvc Pv4中使用AjaxHelper
- 在Asp.net MVC中使用Repeater
- ASP.NET MVC 项目中使用 WebForm
- ASP.NET MVC中使用Memcached
- ASP.NET MVC中使用Nhibernate(一)
- ASP.NET MVC中使用Nhibernate(二)
- ASP.NET MVC中使用Nhibernate(三)
- 在ASP.NET MVC中使用DropDownList
- TeamView--远程神器
- 使用npm+gulp+browserify网页前端开发
- C++去除字符串中的空格
- mysql删除超大数据
- 一点Java学习的相关资源
- ASP.NET MVC 中使用JavaScriptResult
- git远程分支创建
- spark中的广播变量和累加器
- 5节点Hadoop分布式集群搭建-超详细文档
- iOS CoraData详解 附Xcode8系列bug
- Android开发重要参考资料
- VSFTPD锁定用户目录
- hyperledger的个人分享
- 一步步学习ASP.NET MVC3 (8)——EmptyResult,ContentResult,RedirectResult