1
具体使用:
2![]()
3![]()
4![]()
5
1. 在项目中添加引用Ajax.dll (我用的版本是5.7.22.2)
6![]()
7![]()
8![]()
9
2. 修改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![]()
28
3. 新建一个实现业务逻辑的类,并在里面增加方法,在方法上面加上[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![]()
104
str=str.Substring(1,str.Length-1);
105![]()
106![]()
107![]()
108
return str;
109![]()
110![]()
111![]()
112
}
113![]()
114![]()
115![]()
116
117![]()
118![]()
119![]()
120
4. 在调用页的.cs的Page_Load事件中增加一行类注册代码
121![]()
122![]()
123![]()
124
private 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![]()
137
5. 在调用页页面文件中或者单独写一个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![]()
225
6. 调用
226![]()
227![]()
228![]()
229
<asp:dropdownlist id="DropClassID" runat="server" Width="250px" onchange=” classResult()”></asp:dropdownlist>
230![]()
231![]()
232![]()
具体使用: 2

3

4

5
1. 在项目中添加引用Ajax.dll (我用的版本是5.7.22.2) 6

7

8

9
2. 修改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

28
3. 新建一个实现业务逻辑的类,并在里面增加方法,在方法上面加上[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

104
str=str.Substring(1,str.Length-1); 105

106

107

108
return str; 109

110

111

112
} 113

114

115

116
117

118

119

120
4. 在调用页的.cs的Page_Load事件中增加一行类注册代码 121

122

123

124
private 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

137
5. 在调用页页面文件中或者单独写一个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

225
6. 调用 226

227

228

229
<asp:dropdownlist id="DropClassID" runat="server" Width="250px" onchange=” classResult()”></asp:dropdownlist> 230

231

232


浙公网安备 33010602011771号