关于调用AjaxPro.AjaxHandlerFactory,AjaxPro.2的问题
今天在项目(asp.netvisualstudio2010中)中用到了局部调用,需用到ajax我按照网上写的方法:net2.0使用AjaxPro.2.dll来实现,具体方...
今天在项目(asp.net visual studio 2010中)中用到了局部调用,需用到ajax我按照网上写的方法:
net2.0使用AjaxPro.2.dll来实现,具体方法是:
1.去网站下载AjaxPro.2.dll组件
2.在您项目的资源管理器中,右击引用,左击"添加引用"
3.点击浏览,找到AjaxPro.2.dll文件所在的位置,双击AjaxPro.2.dll,然后点击确定
4.可以在bin文件里看到改文件
5.配置web.config:打开web.config文件,在<configuration><system.web>后添加以下代码
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
6、PAGE_LAOD里注册基类:
AjaxPro.Utility.RegisterTypeForAjax(typeof(Default));//Default基类名
7、类名前必须定义为public
8、定义AJAX函数前必须有[AjaxPro.AjaxMethod]
9、用类名.函数名() 前台JS 调用
一步一步,写下来,发现在用脚本调用的时候调用不到后台的方法,我后台的方法如下:
public partial class ff : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(ff));
}
[AjaxPro.AjaxMethod]
public string a()
{
return "abc";
}
}
前台调用方法如下:
<head runat="server">
<title></title>
<script type="text/javascript">
function abc() {
alert("c");
alert(ff.peter().value);
var b = ff.peter().value;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div onclick="abc()">
fsdfdsdaf asdfsda
</div>
</form>
</body>
配置文件如下:
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
不知道到底是哪里出错了,就是调用没反应!谢谢 展开
net2.0使用AjaxPro.2.dll来实现,具体方法是:
1.去网站下载AjaxPro.2.dll组件
2.在您项目的资源管理器中,右击引用,左击"添加引用"
3.点击浏览,找到AjaxPro.2.dll文件所在的位置,双击AjaxPro.2.dll,然后点击确定
4.可以在bin文件里看到改文件
5.配置web.config:打开web.config文件,在<configuration><system.web>后添加以下代码
<httpHandlers>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
6、PAGE_LAOD里注册基类:
AjaxPro.Utility.RegisterTypeForAjax(typeof(Default));//Default基类名
7、类名前必须定义为public
8、定义AJAX函数前必须有[AjaxPro.AjaxMethod]
9、用类名.函数名() 前台JS 调用
一步一步,写下来,发现在用脚本调用的时候调用不到后台的方法,我后台的方法如下:
public partial class ff : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
AjaxPro.Utility.RegisterTypeForAjax(typeof(ff));
}
[AjaxPro.AjaxMethod]
public string a()
{
return "abc";
}
}
前台调用方法如下:
<head runat="server">
<title></title>
<script type="text/javascript">
function abc() {
alert("c");
alert(ff.peter().value);
var b = ff.peter().value;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div onclick="abc()">
fsdfdsdaf asdfsda
</div>
</form>
</body>
配置文件如下:
<httpHandlers>
<remove verb="*" path="*.asmx"/>
<add verb="*" path="*.asmx" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="*" path="*_AppService.axd" validate="false" type="System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
<add verb="GET,HEAD" path="ScriptResource.axd" type="System.Web.Handlers.ScriptResourceHandler, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" validate="false"/>
<add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
</httpHandlers>
不知道到底是哪里出错了,就是调用没反应!谢谢 展开
2个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询