MVC中如何在controller的action中输出JS到页面上

简介:

编辑器加载中...这个问题有点怪,不过这是项目开发时一个同事问我的问题,实现上完成这个需要很容易, 通过HTTP上下文对象(HttpContext)就可以了. 你在action中的HttpContext就是这个action所指向的页面的上下文,所以向页面输出JS,我们可以这样实现

HttpContext.Response.Output.Write("<script>alert('OK,呵呵')</script>");

这个意思是说,将write()里的文本流追加到当前HTTP响应流中。

小知识:在ASPX中输出文本信息我们通常会这样实现

 
<% Html.RenderPartial("lori");//当前controller下的lori分部视图或者shared目录下的分部视图 %>
<%= "lori.zhang" %>

<%
Response.Write("lori.zhang"); //方法 %>

<% %>中包含了.net的语句,本身不是用来表示输出的,那么为什么刚才代码中的Html.RenderPartial方法也会生成页面内容 呢?那是因为RenderPartial方法直接向当前HttpContext.Response.Output里写入字符了。而我们用 Response.Write来输出内容,其实在Response类(HttpResponseBase,可提供来自 ASP.NET 操作的 HTTP 响应信息,它是抽象类)的Write方法内部就是输出到Output中。

 

即使我们的页面中使用了HtmlTextWriter来输出内容,但它内部也是封装了Output所暴露出的TextWriter中。为了 验证,您可以在代码中设置断点并观察Render方法的writer参数,在“正常情况下”可以发现writer.InnerWriter属性是一个 HttpWriter对象,这是个TextWriter的子类,也是ASP.NET中定义的内部类型。

<%=%>与<%response.write()%>的区别

它们输出到页面的效果是一样的。但是实际上前者是使用页面的HtmlTextWriter对象输出的,而后者则直接向Response.Output里输 出内容。(节选自,老赵点滴)

本文转自博客园张占岭(仓储大叔)的博客,原文链接: MVC中如何在controller的action中输出JS到页面上,如需转载请自行联系原博主。
目录
相关文章
|
1月前
|
JavaScript
如何使用JS控制指定页面大小开启全屏和退出全屏
如何使用JS控制指定页面大小开启全屏和退出全屏
15 0
|
1月前
|
JavaScript 数据安全/隐私保护
|
1月前
|
JavaScript
如何在JS中实现修改URL参数而不刷新页面
如何在JS中实现修改URL参数而不刷新页面
30 1
|
1月前
|
存储 JavaScript
JS中从a页面跳转到b页面,自动执行一次点击事件
JS中从a页面跳转到b页面,自动执行一次点击事件
|
24天前
|
JavaScript
如何用js在页面中添加元素?
如何用js在页面中添加元素?
15 0
|
13天前
|
JavaScript 前端开发 Java
MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 以及 Ext JS。
MooTools、Backbone、Sammy、Cappuccino、Knockout、JavaScript MVC、Google Web Toolkit、Google Closure、Ember、Batman 和 Ext JS 都是 JavaScript 框架,用于开发 Web 应用程序。它们分别提供了不同的功能和特性,以帮助开发者更高效地构建和维护 Web 应用程序。
9 2
|
20天前
|
前端开发 JavaScript API
网页开发者必看!5种JS跳转页面技巧,提升用户交互体验
欢迎来到前端入门之旅!这个专栏是为那些对Web开发感兴趣、刚刚开始学习前端的读者们打造的。无论你是初学者还是有一些基础的开发者,我们都会在这里为你提供一个系统而又亲切的学习平台。我们以问答形式更新,为大家呈现精选的前端知识点和最佳实践。通过深入浅出的解释概念,并提供实际案例和练习,让你逐步建立起一个扎实的基础。无论是HTML、CSS、JavaScript还是最新的前端框架和工具,我们都将为你提供丰富的内容和实用技巧,帮助你更好地理解并运用前端开发中的各种技术。
|
1月前
|
移动开发 JavaScript 前端开发
用js来实现页面全屏和退出全屏的功能
用js来实现页面全屏和退出全屏的功能
|
2月前
|
存储 JavaScript 安全
js中多个页面之间如何进行通信?有什么区别?
js中多个页面之间如何进行通信?有什么区别?
22 0
|
2月前
|
JavaScript
js实现跨浏览器tab选项卡页通信、传参,监听localStorage.变量的实时变化,实现打开多个浏览器页面窗口相互可以传参通信
js实现跨浏览器tab选项卡页通信、传参,监听localStorage.变量的实时变化,实现打开多个浏览器页面窗口相互可以传参通信

相关产品

  • 云迁移中心