ASP.NET 2.0为我们提供了ClientScriptManager.RegisterClientScriptInclude 方法向页面加载JS文件.虽然这样在页面运行时动态加载JS,但是我们必须事先编写好JS文件以便页面加载.
所以在JS文件数量很大时这个方法并不是很"实在".
在这里我介绍一种我最近发现的动态加载的方法一般大家参考
首先,我们在项目中添加一个JS.ASPX的文件.
接下来我们就要重写页面的Render方法)
 1![]() using System;
using System;
2![]() using System.Data;
using System.Data;
3![]() using System.Configuration;
using System.Configuration;
4![]() using System.Collections;
using System.Collections;
5![]() using System.Web;
using System.Web;
6![]() using System.Web.Security;
using System.Web.Security;
7![]() using System.Web.UI;
using System.Web.UI;
8![]() using System.Web.UI.WebControls;
using System.Web.UI.WebControls;
9![]() using System.Web.UI.WebControls.WebParts;
using System.Web.UI.WebControls.WebParts;
10![]() using System.Web.UI.HtmlControls;
using System.Web.UI.HtmlControls;
11![]()
12![]() public partial class JS : System.Web.UI.Page
public partial class JS : System.Web.UI.Page
13![]() {
{
14![]() protected void Page_Load(object sender, EventArgs e)
    protected void Page_Load(object sender, EventArgs e)
15![]() {
    {
16![]()
17![]() }
    }
18![]() protected override void Render(HtmlTextWriter writer)//我们必须重写Render方法
    protected override void Render(HtmlTextWriter writer)//我们必须重写Render方法
19![]() {
    {
20![]() string js = CreateJS();    //生成JS代码
        string js = CreateJS();    //生成JS代码
21![]() writer.Write(js);
        writer.Write(js);
22![]() }
    }
23![]() private string CreateJS()   //产生端定义name变量的JS代码
    private string CreateJS()   //产生端定义name变量的JS代码
24![]() {
    {
25![]() if (Page.Request["Param"] == null)
        if (Page.Request["Param"] == null)
26![]() throw new Exception("参数Param不能为空");
            throw new Exception("参数Param不能为空");
27![]() string Param = Page.Request["Param"].ToString();
        string Param = Page.Request["Param"].ToString();
28![]() string js = "";
        string js = "";
29![]() switch (Param)
        switch (Param)
30![]() {
        {
31![]() case "1":
            case "1":
32![]() //ToDo
                //ToDo![]() .
.
33![]() js = "var name='戴涛'";
                js = "var name='戴涛'";
34![]() break;
                break;
35![]() case "2":
            case "2":
36![]() //ToDo
                //ToDo
37![]() js = "var name='孙燕姿'";
                js = "var name='孙燕姿'";
38![]() break;
                break;
39![]() default:
            default:
40![]() break;
                break;
41![]() 
                
42![]() }
        }
43![]() return js;
        return js;
44![]() }
    }
45![]() }
}
46![]()
 using System;
using System;2
 using System.Data;
using System.Data;3
 using System.Configuration;
using System.Configuration;4
 using System.Collections;
using System.Collections;5
 using System.Web;
using System.Web;6
 using System.Web.Security;
using System.Web.Security;7
 using System.Web.UI;
using System.Web.UI;8
 using System.Web.UI.WebControls;
using System.Web.UI.WebControls;9
 using System.Web.UI.WebControls.WebParts;
using System.Web.UI.WebControls.WebParts;10
 using System.Web.UI.HtmlControls;
using System.Web.UI.HtmlControls;11

12
 public partial class JS : System.Web.UI.Page
public partial class JS : System.Web.UI.Page13
 {
{14
 protected void Page_Load(object sender, EventArgs e)
    protected void Page_Load(object sender, EventArgs e)15
 {
    {16

17
 }
    }18
 protected override void Render(HtmlTextWriter writer)//我们必须重写Render方法
    protected override void Render(HtmlTextWriter writer)//我们必须重写Render方法19
 {
    {20
 string js = CreateJS();    //生成JS代码
        string js = CreateJS();    //生成JS代码21
 writer.Write(js);
        writer.Write(js);22
 }
    }23
 private string CreateJS()   //产生端定义name变量的JS代码
    private string CreateJS()   //产生端定义name变量的JS代码24
 {
    {25
 if (Page.Request["Param"] == null)
        if (Page.Request["Param"] == null)26
 throw new Exception("参数Param不能为空");
            throw new Exception("参数Param不能为空");27
 string Param = Page.Request["Param"].ToString();
        string Param = Page.Request["Param"].ToString();28
 string js = "";
        string js = "";29
 switch (Param)
        switch (Param)30
 {
        {31
 case "1":
            case "1":32
 //ToDo
                //ToDo .
.33
 js = "var name='戴涛'";
                js = "var name='戴涛'";34
 break;
                break;35
 case "2":
            case "2":36
 //ToDo
                //ToDo37
 js = "var name='孙燕姿'";
                js = "var name='孙燕姿'";38
 break;
                break;39
 default:
            default:40
 break;
                break;41
 
                42
 }
        }43
 return js;
        return js;44
 }
    }45
 }
}46

这里的工作我们就完成了.
接下来我们创建一个JS文件来配合这段代码使用
 // JScript 文件
// JScript 文件 function Test()
function Test() {
{ alert('hello '+name);
    alert('hello '+name); }
}很简单吧.
现在就来添加一个调用这两个JS文件的页面,同样也很简单
 1![]() <%@ Page Language="C#" %>
<%@ Page Language="C#" %>
2![]()
3![]() <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4![]()
5![]() <script runat="server">
<script runat="server">
6![]()
7![]() string Param = "2";
    string Param = "2";
8![]() </script>
</script>
9![]()
10![]() <html xmlns="http://www.w3.org/1999/xhtml" >
<html xmlns="http://www.w3.org/1999/xhtml" >
11![]() <head id="Head1" runat="server">
<head id="Head1" runat="server">
12![]() <title>无标题页</title>
    <title>无标题页</title>
13![]() <script type="text/jscript" language="jscript" src="JScript.js"></script>
    <script type="text/jscript" language="jscript" src="JScript.js"></script>
14![]() <script type="text/javascript" language="javascript" src="JS.aspx?param=<%=Param %>"></script>
    <script type="text/javascript" language="javascript" src="JS.aspx?param=<%=Param %>"></script>
15![]() </head>
</head>
16![]() <body>
<body>
17![]() <form id="form1" runat="server">
    <form id="form1" runat="server">
18![]() <input id="Button1" type="button" value="button" onclick="Test()" />
        <input id="Button1" type="button" value="button" onclick="Test()" />
19![]() </form>
    </form>
20![]() </body>
</body>
21![]() </html>
</html>
22![]()
 <%@ Page Language="C#" %>
<%@ Page Language="C#" %>2

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

5
 <script runat="server">
<script runat="server">6

7
 string Param = "2";
    string Param = "2";8
 </script>
</script>9

10
 <html xmlns="http://www.w3.org/1999/xhtml" >
<html xmlns="http://www.w3.org/1999/xhtml" >11
 <head id="Head1" runat="server">
<head id="Head1" runat="server">12
 <title>无标题页</title>
    <title>无标题页</title>13
 <script type="text/jscript" language="jscript" src="JScript.js"></script>
    <script type="text/jscript" language="jscript" src="JScript.js"></script>14
 <script type="text/javascript" language="javascript" src="JS.aspx?param=<%=Param %>"></script>
    <script type="text/javascript" language="javascript" src="JS.aspx?param=<%=Param %>"></script>15
 </head>
</head>16
 <body>
<body>17
 <form id="form1" runat="server">
    <form id="form1" runat="server">18
 <input id="Button1" type="button" value="button" onclick="Test()" />
        <input id="Button1" type="button" value="button" onclick="Test()" />19
 </form>
    </form>20
 </body>
</body>21
 </html>
</html>22

电脑上没有抓图软件,所以就不给大家看结果了
(小弟第一次写东西,大家多包含)
 
                    
                 

 
     
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号