将脚本应用于项目中的所有页面

时间:2014-01-03 09:33:55

标签: javascript jquery asp.net

我想删除每个页面提及的脚本,如

 <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
 <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.3/jquery-ui.min.js"></script>

应该立刻提到它。就像一个引用来源的常见地方。 我有3.5的框架。我怎样才能做到这一点。

4 个答案:

答案 0 :(得分:1)

创建一个新项目,以便在整个应用程序中保存您需要的所有JavaScript文件。您可以将所有脚本嵌入到DLL中。这样,如果将DLL部署到网站,则所有JavaScript文件也会自动部署。

您可以查看下面给出的完整教程。

<强> Managing-Your-JavaScript-Library-in-ASP-NET

答案 1 :(得分:0)

您可以使用母版页来完成。像

这样的演示
 <master page>
    <header>
    //add script file here
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
     <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.3/jquery-ui.min.js"></script>
   //Other scripts 
    </header>
    <content>
    <Sub pages>
    //Here you can debase your pages(like dynamically change pages), So the header script will referred from above header 
    </content>
    <footer>
    <//footer>
    <master page>

MSDN link for Master page

答案 2 :(得分:0)

如果您不想使用母版页,可以使用服务器控件并根据需要将其添加到页面中。

答案 3 :(得分:0)

添加母版页很好。

作为替代方法,您可以通过创建基页并通过覆盖Page class OnInit事件将web.config文件中的脚本添加到页面标题中来实现此目的。

创建一个类作为继承自System.Web.UI.Page的BasePage,如

public class BasePage : System.Web.UI.Page
    {
    }

在要加载脚本的所有页面上,从BasePage继承它们

<强>早些时候

public partial class _Default : System.Web.UI.Page
    {
    }

立即

public partial class _Default : BasePage
    {
    }

在一个地方提及您的脚本文件 - Web.Config ,如下所示

<appSettings>
    <add key="ScriptJquery" value="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"/>
    <add key="ScriptJqueryUI" value="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"/>
  </appSettings>

在BasePage类中重写OnInit,如下所示

 public class BasePage : System.Web.UI.Page
    {

        protected override void OnInit(EventArgs e) 
        { 
            IEnumerable<string> scripts =  ConfigurationManager.AppSettings.Keys.OfType<string>().Where(s => s.StartsWith("Script"));
            foreach (string script in scripts)
            {
                Literal scriptTag = new Literal();
                scriptTag.Text = string.Format(@"<script src=""{0}"" type=""text/javascript""></script>",ConfigurationManager.AppSettings[script].ToString());
                Page.Header.Controls.Add(scriptTag);
            }

            base.OnInit(e); 
        }
    }