yanzimywife

专注于技术

   :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

ASP.NET 2.0为我们提供了ClientScriptManager.RegisterClientScriptInclude 方法向页面加载JS文件.虽然这样在页面运行时动态加载JS,但是我们必须事先编写好JS文件以便页面加载.
所以在JS文件数量很大时这个方法并不是很"实在".
在这里我介绍一种我最近发现的动态加载的方法一般大家参考
首先,我们在项目中添加一个JS.ASPX的文件.
接下来我们就要重写页面的Render方法)

 

 1using System;
 2using System.Data;
 3using System.Configuration;
 4using System.Collections;
 5using System.Web;
 6using System.Web.Security;
 7using System.Web.UI;
 8using System.Web.UI.WebControls;
 9using System.Web.UI.WebControls.WebParts;
10using System.Web.UI.HtmlControls;
11
12public partial class JS : System.Web.UI.Page
13{
14    protected void Page_Load(object sender, EventArgs e)
15    {
16
17    }

18    protected override void Render(HtmlTextWriter writer)//我们必须重写Render方法
19    {
20        string js = CreateJS();    //生成JS代码
21        writer.Write(js);
22    }

23    private string CreateJS()   //产生端定义name变量的JS代码
24    {
25        if (Page.Request["Param"== null)
26            throw new Exception("参数Param不能为空");
27        string Param = Page.Request["Param"].ToString();
28        string js = "";
29        switch (Param)
30        {
31            case "1":
32                //ToDo.
33                js = "var name='戴涛'";
34                break;
35            case "2":
36                //ToDo
37                js = "var name='孙燕姿'";
38                break;
39            default:
40                break;
41                
42        }

43        return js;
44    }

45}

46

这里的工作我们就完成了.
接下来我们创建一个JS文件来配合这段代码使用

// JScript 文件
function Test()
{
    alert(
'hello '+name);
}

很简单吧.
现在就来添加一个调用这两个JS文件的页面,同样也很简单

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

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

posted on 2007-03-15 13:55  yanzimywife  阅读(4540)  评论(7编辑  收藏  举报