一般我們在頁面調用Ajax時,需要通過 js 調用ajax ,接著后臺處理得到的數據,然后返回數據,ajax 得到返回的數據進行處理。
然而有沒有可以像調用方法一樣來進行Ajax操作呢? AjaxPRo 可以辦到。簡單示例如下,先看效果圖:
核心就是 AjaxPro.2.dll 文件,簡單配置一下就可以了,步驟如下:
1.引用 AjaxPro.2.dll 文件,配置 Web.config 文件:
<configuration> <system.web> <compilation debug="true" targetFramework="4.0" /> <httpHandlers> <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro.2"/> </httpHandlers> </system.web> <system.webServer> <validation validateIntegratedModeConfiguration="false"/> <handlers> <add verb="*" path="*.ashx" name="AjaxPro" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/> </handlers> </system.webServer></configuration>
2.然后就可以寫想要處理的方法了:
namespace AjaxProTwo{ public class YlukaAjax { //AjaxPro.AjaxMethod [AjaxMethod] public People GetThePeopleInfo(string name) { People people = new People(); people.Name = name; people.BlogPath = @"http://www.49028c.com/yc-755909659/"; return people; } //改變了方法名,調用時使用 AjaxProTwo.YlukaAjax.ShowMessage() [AjaxMethod, AjaxNamespace("ShowMessage")] public string ShowTheMessage() { return "你好,我是葉小超。很高興認識你!"; } }}
3.最后,Web頁面后臺文件引用方法的類:
public partial class Default : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { //必須引用,不能放在 IsPostBack 中 AjaxPro.Utility.RegisterTypeForAjax(typeof(YlukaAjax)); } }
4.最后,js 調用就行了:
<form id="form1" runat="server"> <div> <input id="showInfo" type="button" onclick="show()" value="Show The Info" /> </div> <div> <label>姓名:</label><label id="lb_Name" /> </div> <div> <label>博客:</label><label id="lb_BlogPath" /> </div> <div> <label>簡介:</label><label id="lb_Message" /> </div> <script type="text/javascript"> function show() { var people = AjaxProTwo.YlukaAjax.GetThePeopleInfo("J灬葉小超").value; document.getElementById("lb_Name").innerHTML = people.Name; document.getElementById("lb_BlogPath").innerHTML = people.BlogPath; document.getElementById("lb_Message").innerHTML = AjaxProTwo.YlukaAjax.ShowMessage().value; } </script> </form>
源代碼地址:AjaxProTwo.zip
參考文章:http://www.49028c.com/yaozhenfa/p/np_ajaxpro.html
新聞熱點
疑難解答