本帖最后由 liujw 于 2012-08-01 11:48:33 编辑

解决方案 »

  1.   

    貌似据说吧js和css放在外部文件里
      

  2.   

    外部js ,css.浏览器都有缓存。服务器可以设置 这些文件的过期时间。(建议设置30天)
      

  3.   

    到合并到一个css js吧 用到的引入就行
      

  4.   

    to aspwebchh:
    浏览器是会缓存,但那是浏览器的机制,如果有特殊的浏览器不缓存呢,比如IE6之类的。
    还有一个可能问题就是js里的方法重复执行也许有问题呢。
    另外就是感觉代码有垃圾,能不能从服务器端就避免呢?to qishuai1986:
    合并一个也是个办法,但是控件毕竟不是每页都调用,让每个页面都去加载一些没用的js/css的,从设计上感觉不大好吧?
      

  5.   

    放到控件的后台注册,给你提供一个我以前写的一个方法
            public static void IncludeJs(Page oPage, string sKey, string sUrl, int iIndex) {
                if (oPage == null)
                    oPage = HttpContext.Current.Handler as Page;            if (string.IsNullOrEmpty(sKey))
                    sKey = Path.GetFileName(sUrl);            if (oPage.Header != null && !oPage.ClientScript.IsClientScriptBlockRegistered(oPage.GetType(), sKey)) {
                    sUrl = string.Format(" <script src=\"{0}\" type=\"text/javascript\"></script>\n", oPage.ResolveClientUrl(sUrl));
                    oPage.ClientScript.RegisterClientScriptBlock(oPage.GetType(), sKey, "");
                    if (iIndex == -1)
                        oPage.Header.Controls.Add(new LiteralControl(sUrl));
                    else {
                        oPage.Header.Controls.AddAt(iIndex, new LiteralControl(sUrl));
                    }            } else if (oPage.Header == null && !oPage.ClientScript.IsClientScriptIncludeRegistered(oPage.GetType(), sKey)) {
                    oPage.ClientScript.RegisterClientScriptInclude(oPage.GetType(), sKey, sUrl);
                }
            }
      

  6.   

    to PoorChild:
    谢谢,看来我还是等到了不错的办法。希望css也能同样方法解决。
    不过美中不足我用的ASP.NET MVC 2.0, 有类似的代码吗?
      

  7.   

    额...mvc的不会..顺手百度了一下 好像有现成的
     点我