1具体使用:
2
3
4
51. 在项目中添加引用Ajax.dll (我用的版本是5.7.22.2)
6
7
8
92. 修改web.config,在里面增加
10
11
12
13<configuration>
14 <system.web>
15 <httpHandlers>
16 <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
17 </httpHandlers>
18
19 <system.web>
20</configuration>
21
22
23
24
25
26
27
283. 新建一个实现业务逻辑的类,并在里面增加方法,在方法上面加上[Ajax.AjaxMethod()]。如:
29
30
31
32 /// <summary>
33
34
35
36 /// 业务逻辑的类
37
38
39
40 /// </summary>
41
42
43
44 public class AjaxBLLClass
45
46
47
48 {
49
50
51
52 public AjaxBLLClass()
53
54
55
56 {
57
58
59
60 }
61
62
63
64 [Ajax.AjaxMethod()]
65
66
67
68 public string GetPlaceList(int ClassID)
69
70
71
72 {
73
74
75
76 Advertisement.BLL.ADManage.AdPlace adplace=new Advertisement.BLL.ADManage.AdPlace();
77
78
79
80 DataSet ds=adplace.GetListByClass(ClassID);
81
82
83
84 string str="";
85
86
87
88 for(int m=0;m<ds.Tables[0].Rows.Count;m++)
89
90
91
92 {
93
94
95
96 str+=","+ds.Tables[0].Rows[m]["PlaceID"].ToString()+"|"+ds.Tables[0].Rows[m]["PlaceName"].ToString();
97
98
99
100 }
101
102
103
104str=str.Substring(1,str.Length-1);
105
106
107
108return str;
109
110
111
112 }
113
114
115
116
117
118
119
1204. 在调用页的.cs的Page_Load事件中增加一行类注册代码
121
122
123
124private void Page_Load(object sender, System.EventArgs e)
125 {
126 //注册类获得有效的方法
127 Ajax.Utility.RegisterTypeForAjax(typeof(AjaxBLLClass));
128 }
129
130
131
132
133注意:typeof(AjaxBLLClass)中,AjaxBLLClass是要包含要调用方法的类,即上面第3步新建的业务逻辑类AjaxBLLClass
134
135
136
1375. 在调用页页面文件中或者单独写一个js文件,用Javascript代码调用业务逻辑的类的方法。如:
138
139
140
141 function classResult()
142
143
144
145 {
146
147
148
149 var classid=document.getElementById("DropClassID");
150
151
152
153 AjaxBLLClass.GetPlaceList(classid.value,get_class_Result_CallBack);//调用业务逻辑类方法
154
155
156
157
158
159
160
161 }
162
163
164
165
166
167
168
169 function get_class_Result_CallBack(response)
170
171
172
173 {
174
175
176
177 if (response.value != null)
178
179
180
181 {
182
183
184
185 document.getElementById("DropPlaceID").length=0;
186
187
188
189 var piArray = response.value.split(",");
190
191
192
193 for(var i=0;i<piArray.length;i++)
194
195
196
197 {
198
199
200
201 var ary1 = piArray[i].toString().split("|");
202
203
204
205 document.getElementById("DropPlaceID").options.add(new Option(ary1[1].toString(),ary1[0].toString()));
206
207
208
209 }
210
211
212
213 }
214
215
216
217 return
218
219
220
221 }
222
223
224
2256. 调用
226
227
228
229<asp:dropdownlist id="DropClassID" runat="server" Width="250px" onchange=” classResult()”></asp:dropdownlist>
230
231
232
2
3
4
51. 在项目中添加引用Ajax.dll (我用的版本是5.7.22.2)
6
7
8
92. 修改web.config,在里面增加
10
11
12
13<configuration>
14 <system.web>
15 <httpHandlers>
16 <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
17 </httpHandlers>
18
19 <system.web>
20</configuration>
21
22
23
24
25
26
27
283. 新建一个实现业务逻辑的类,并在里面增加方法,在方法上面加上[Ajax.AjaxMethod()]。如:
29
30
31
32 /// <summary>
33
34
35
36 /// 业务逻辑的类
37
38
39
40 /// </summary>
41
42
43
44 public class AjaxBLLClass
45
46
47
48 {
49
50
51
52 public AjaxBLLClass()
53
54
55
56 {
57
58
59
60 }
61
62
63
64 [Ajax.AjaxMethod()]
65
66
67
68 public string GetPlaceList(int ClassID)
69
70
71
72 {
73
74
75
76 Advertisement.BLL.ADManage.AdPlace adplace=new Advertisement.BLL.ADManage.AdPlace();
77
78
79
80 DataSet ds=adplace.GetListByClass(ClassID);
81
82
83
84 string str="";
85
86
87
88 for(int m=0;m<ds.Tables[0].Rows.Count;m++)
89
90
91
92 {
93
94
95
96 str+=","+ds.Tables[0].Rows[m]["PlaceID"].ToString()+"|"+ds.Tables[0].Rows[m]["PlaceName"].ToString();
97
98
99
100 }
101
102
103
104str=str.Substring(1,str.Length-1);
105
106
107
108return str;
109
110
111
112 }
113
114
115
116
117
118
119
1204. 在调用页的.cs的Page_Load事件中增加一行类注册代码
121
122
123
124private void Page_Load(object sender, System.EventArgs e)
125 {
126 //注册类获得有效的方法
127 Ajax.Utility.RegisterTypeForAjax(typeof(AjaxBLLClass));
128 }
129
130
131
132
133注意:typeof(AjaxBLLClass)中,AjaxBLLClass是要包含要调用方法的类,即上面第3步新建的业务逻辑类AjaxBLLClass
134
135
136
1375. 在调用页页面文件中或者单独写一个js文件,用Javascript代码调用业务逻辑的类的方法。如:
138
139
140
141 function classResult()
142
143
144
145 {
146
147
148
149 var classid=document.getElementById("DropClassID");
150
151
152
153 AjaxBLLClass.GetPlaceList(classid.value,get_class_Result_CallBack);//调用业务逻辑类方法
154
155
156
157
158
159
160
161 }
162
163
164
165
166
167
168
169 function get_class_Result_CallBack(response)
170
171
172
173 {
174
175
176
177 if (response.value != null)
178
179
180
181 {
182
183
184
185 document.getElementById("DropPlaceID").length=0;
186
187
188
189 var piArray = response.value.split(",");
190
191
192
193 for(var i=0;i<piArray.length;i++)
194
195
196
197 {
198
199
200
201 var ary1 = piArray[i].toString().split("|");
202
203
204
205 document.getElementById("DropPlaceID").options.add(new Option(ary1[1].toString(),ary1[0].toString()));
206
207
208
209 }
210
211
212
213 }
214
215
216
217 return
218
219
220
221 }
222
223
224
2256. 调用
226
227
228
229<asp:dropdownlist id="DropClassID" runat="server" Width="250px" onchange=” classResult()”></asp:dropdownlist>
230
231
232