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

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

可以通过Http上下文对象(httpContext)就可以了,在Action中的HttpContext就是这个Action所指向的页面的上下文,所以向页面输出JS,可以这样:

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

这个意思是:将Write()里的文字流追加到当前的Http相应流中
举个例子:
1
<% Html.RenderPartial("lori");//当前controller下的lori分部视图或者shared目录下的分部视图 %>
2
<%= "lori.zhang" %>
3
<% Response.Write("lori.zhang"); //方法 %>
<% %>中包含了.net的语句,本身不用用来表示输出的,那么1为啥也会生成页面内容呢?这是因为Html.RenderPartial方法本身直接向当前HttpContext.Response.OutPut里写入字符了, 而用Response.Write来输出内容,其实在Response类(HttpResponseBase,可提供来自.net操作的Http响应信息,它是抽象类)的Write()方法内部就是输出到OutPut中,
即使页面用HtmlTextWriter来输出内容,内部也是封装了OutPut所暴露的TextWriter中

<%=%>与<%response.write()%>的区别
前者使用页面的HtmlTextWriter对象输出,后者直接向Response.Output里输出内容

posted @ 2016-06-27 14:37  那就让我这样吧  阅读(3754)  评论(1编辑  收藏  举报