none
asp.net动态生成js文件合理么? RRS feed

  • 问题

  •  

    我水平不高,希望高手说得详细些,谢谢

        我在网上找了一个网页音乐播放器,是用js
    (其实,是一个音乐列表)控制的。我想根据用
    户的选择来生成不同的音乐列表(js文件)

      我道是会生成静态文件的方法,可是觉得有些
    不太合理:生成js文件、存在硬盘上,而这种组合
    有可能只被一个人调用一次!
      
      我听说过缓存技术,是否适合这种情况呢?
    缓存技术我在网上查了半天,也没太搞明白,

      我的意思是:生成的js只在服务器的内存中
    发给用户,而不必存在硬盘上!有这种方法么?

    2008年9月30日 13:19

答案

  • 完全可以啊,例如

    Code Snippet

     

    <%@ Page Language="C#" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">

      protected void Page_Load(object sender, EventArgs e)
      {
        Response.ContentType = "text/javascruipt";
        Response.Write("var txt = '测试啊'" + System.Environment.NewLine);
        Response.Write("alert(txt)" + System.Environment.NewLine);
        Response.End();
      }
    </script>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
       
        </div>
        </form>
    </body>
    </html>

     

    调用的时候

    <script src="http://localhost:1515/WebSite2/Default10.aspx"></script>即可

     

    上面最好写成

     

    <%@ Page Language="C#" %>

    <script runat="server">

      protected void Page_Load(object sender, EventArgs e)
      {
        Response.ContentType = "text/javascruipt";
        Response.Write("var txt = '测试啊'" + System.Environment.NewLine);
        Response.Write("alert(txt)" + System.Environment.NewLine);
        Response.End();
      }
    </script>

    把一些无关的、不是js的代码去掉

     

    2008年9月30日 13:30
    版主

全部回复

  • 完全可以啊,例如

    Code Snippet

     

    <%@ Page Language="C#" %>

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <script runat="server">

      protected void Page_Load(object sender, EventArgs e)
      {
        Response.ContentType = "text/javascruipt";
        Response.Write("var txt = '测试啊'" + System.Environment.NewLine);
        Response.Write("alert(txt)" + System.Environment.NewLine);
        Response.End();
      }
    </script>

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
        <title>无标题页</title>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
       
        </div>
        </form>
    </body>
    </html>

     

    调用的时候

    <script src="http://localhost:1515/WebSite2/Default10.aspx"></script>即可

     

    上面最好写成

     

    <%@ Page Language="C#" %>

    <script runat="server">

      protected void Page_Load(object sender, EventArgs e)
      {
        Response.ContentType = "text/javascruipt";
        Response.Write("var txt = '测试啊'" + System.Environment.NewLine);
        Response.Write("alert(txt)" + System.Environment.NewLine);
        Response.End();
      }
    </script>

    把一些无关的、不是js的代码去掉

     

    2008年9月30日 13:30
    版主
  •  

    太好了!!呵呵微软的论坛就是不一样!曾经听老师说过 孟子E章 还以为是一本书呢,今天在网上找了下才知道是个网站!!
    2008年9月30日 14:04
  • 我倒是觉得在ASP.net中最好在服务器端加载JS。因为有WebControl的存在控件的ID是需要唯一化的,单纯在客户端JS很难知道要使用的控件ID。

    2008年10月1日 1:58
  •  

    用这种方法,能生成XML么?Response.ContentType = ""; 应该怎么写呢?
    2008年10月3日 20:58
  • Response.ContentType = "text/XML"  输出xml

     

     

    response.ContentType ="text/html"  输出网页

     

     response.ContentType ="text/plain" 输出源代码

     

    <% response.ContentType ="image/gif" %>
    <!--#i nclude virtual="/myimage.gif" -->


    JPEG images

    <% response.ContentType ="image/jpeg" %>
    <!--#i nclude virtual="/myimage.jpeg" -->

     

     

    http://www.webjx.com/htmldata/2007-10-12/1192122775.html
    2008年10月4日 16:12