运用 AjaxPro 举行交互,很多人都写过文章了,为何还要继承陈词滥调呢。由于有一些细节上的东西我们须要注重,由于这些细节假如不注重的话,那末顺序会报错,而且保护性较差。
弁言
一.起首,照样那句话,欲练神功,必先自宫。我们开辟顺序第一步起首是搭建环境。
启动Visual Studio ,我的版本是2012啊,不过这个不影响的。先建立一个网站项目, 在项目中到场 Bin 目次,再增加一个 Index 页面。
然后,我们须要去网上下载 AjaxPro.2.dll 百度一下就一堆链接,这里我就不多说什么了。然后把下载到的 AjaxPro.2.dll 的文件复制或引入到 Bin 目次中。接着,在 Web.config 的 <system.web> 标签下写入以下内容。
<httpHandlers> <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/> </httpHandlers>
并且在服务器背景类中,作以下修正:
using AjaxPro; //(1) AjaxPro.Utility.RegisterTypeForAjax(typeof(Index)); //(2) [AjaxPro.AjaxMethod] //(3)
(1):引入 AjaxPro 定名空间
(2):注册类信息到前台页面
(3):每一个前台页面须要挪用的函数前面加上这个
这里我这有个实例,注重一点:在 Page_Load() 函数当中,运用了一个推断。 if(Page.IsCallback) 它的作用是它 取得一个值,示意页面要求是不是是回调的结果。它的一个迥殊的回传,所以往复老是发作;然则,与传统的回发差别,脚本回调不会重绘全部页面。 这是在别的博主那边爬来的,这是原文,也是个人的一个小编程习气,我也不晓得详细有什么用,然则我就是晓得有效。
以上,我们就把这个 AjaxPro.2 环境搭建完了。
二. 接着,就最先挪用了。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Index.aspx.cs" Inherits="Index" %> <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>AjaxPro.2.dll</title> <script> function show() { //(1) var name = Index.getName().value; alert("My Name is :" + name); } </script> </head> <body> <form id="form1" runat="server"> <p> <input type="button" value="show" onclick="show()" /> </p> </form> </body> </html>
这里, Index 是这个类的类名,不晓得还记不记得。我们写过如许一段代码 AjaxPro.Utility.RegisterTypeForAjax(typeof(Index)); 在设置环境的时刻说明的类名。前端页面也是经由过程这个找到我们的类的。.value 也是一个重点,我记的我第一次用这个插件的时刻。返回一个 Password 推断是不是上岸胜利,一向都是失利,这个插件页面用日记信息,我就只能一个一个 alert 终究让我抓着了,假如这里不必 value 会猎取很多现实运用用不上的信息,这里须要注重。
1)认为如许就能够挪用胜利了?太无邪了,这里我们说第一个细节:转变项目的托管管道形式
鼠标单击选中这个项目,然后按 F4 键,会涌现这个项目的属性。将这个属性改成传统型,就好了。假如是集成,则会报 500.23
2)另有一点,也是一个毛病。这类毛病编译时不会失足,加载页面时也不失足。只要挪用到 AjaxPro.2 的是时刻才报错Uncaught ReferenceError: Index is not defined 当挪用背景代码的不起作用时就须要注重是不是是这个题目,由于这个报错它不会涌如今页面,也不会被编译。想要看到这个毛病,必须按 F12 页面调试,我晓得Google Chrome 浏览器 的毛病显现在 Console 选项卡当中,其他浏览器博主就不是迥殊清晰了。
这个毛病的缘由啊,博主也查了很多材料,然则很少有详细的形貌。这里博主也只能做一个博主本身的总结,假如有人晓得那里有毛病,愿望各位能主动斧正(别客套,相互提高啊!!)。博主的剖析呢,就是由于搭建环境时,又什么地方出了题目。 搭建环境博主方才也在前文中讲的比较清晰了,假如涌现这个毛病,应该有 7 成是这个缘由。
3)这也是一个博主告诉我的细节啊!他这么说的:挪用的时刻,不肯定要用声明的谁人类名喔。能够运用 [AjaxNamespace("DEMO")] 这个标签,对这个类举行重定名。博主试了一下,确实是能够的。把这个标签放在被挪用的类前面,记得是类前面哦。就能够了。
能够看到,结果是完成了的!这个标签照样异常有用的。
以上就是关于ASP.NET怎样应用AjaxPro完成前端跟背景交互的实例剖析的细致内容,更多请关注ki4网别的相干文章!