使用Ajax.dll前台调用后台方法及错误示例
使用AJAX前台调用后台的步骤:
1.首先在项目中添加Ajax.dll引用
2.在后台Page_Load函数体内加入
Ajax.Utility.RegisterTypeForAjax(typeof(ClassName));//其中ClassName是后台类的类名
3.在前台所要调用的后台函数体之前加
[Ajax.AjaxMethod(Ajax.HttpSessionStateRequirement.ReadWrite)]
4.在Web.config文件中的<system.web> </system.web>内加入
<httpHandlers>
<add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax"/>
</httpHandlers>
关于用AJAX技术前台调用后台函数的错误
前台错误代码示例:
<script type="text/javascript">
find();
function find() {
var a = _Default.test().value;
alert(a);
}
</script>
或
<script type="text/javascript">
ar a = _Default.test().value;
alert(a);
</script>
火狐报错:“错误: _Default is not defined”
这个问题的产生估计与ASP.NET页面加载顺序有关。具体原因还不清楚,有待仔细研究
正确代码:
<script type="text/javascript">
$(function () {//别忘引用JQuery
find();
});
function find() {
var a = _Default.test().value;
alert(a);
}
</script>
或
<script type="text/javascript">
function find() {
var a = _Default.test().value;
alert(a);
}
</script>
<input id="Button1" type="button" value="button" onclick="find()"/>
除此之外,如果网站名用中文命名,对话框中的内容会为“null”。而在火狐中没问题。因为IE的URL中的汉字经过编码处理,而火狐则无
作者:心亦
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
|