国语自产精品视频在线看:您身边最放心的安全下载站! 最新软件|热门排行|软件分类|软件专题|厂商大全

国语自产精品视频在线看

技术教程
您的位置:首页网络编程.Net编程 → ASP.NET中使用AJAX中的方式

ASP.NET中使用AJAX中的方式

我要评论 2009/08/17 11:40:13 来源:国语自产精品视频在线看 编辑:佚名 [ ] 评论:0 点击:358次

ASP.NET中使用【zhōng shǐ yòng】💪AJAX中的方🏊式之背【shì zhī bèi】景介绍

asp.net中使用php常用的jquery等类库🎋来实现ajax不是很容易【róng yì】😣。因为【yīn wéi】asp.net的机制【de jī zhì】已经被🏺封装了【fēng zhuāng le】,依靠内【yī kào nèi】🛋部的viewstate,如果硬🏈用js修改了【xiū gǎi le】控件的🧡值,跟他的viewstate对不上【duì bú shàng】,而这些【ér zhè xiē】🕢控件又是不可🕌修改的,将对程🧟序造成【xù zào chéng】安全性困扰,后台获【hòu tái huò】取值也🥟是一个麻烦。

另外⛽,asp.net的控件【de kòng jiàn】👝也封装【yě fēng zhuāng】了html控件【kòng jiàn】,使用js操作不是这么直接🦎。

根据Surance( http://www.fltek.com.cn/)研究发🌑现,在🎒asp.net中,有🗝3种方法【zhǒng fāng fǎ】🐋使用【shǐ yòng】⛄ajax比较简【bǐ jiào jiǎn】单。算是【suàn shì】ms的一个【de yī gè】补偿方案来的。

一个是【yī gè shì】🎈PageMethod,一个是【yī gè shì】🎈使用😩ICallbackEventHandler,还有一【hái yǒu yī】🤥个是用【gè shì yòng】ms自带的ajax控件。

分别举例说明,以下例子要实现的功能为:

在页面有一个div,一个按【yī gè àn】钮。点击按钮要调🐹用后台🔆方法获🏼取一个【qǔ yī gè】时间,然后将时间写【shí jiān xiě】入📯div。要求页【yào qiú yè】面不刷【miàn bú shuā】新💑

另外有【lìng wài yǒu】🐏个后台【gè hòu tái】的按钮🚜,点击此按钮💫,取到保存后的【cún hòu de】值

ASP.NET中使用💩AJAX中的方式【shì】1:PageMehtod

第一步🗄,建立一【jiàn lì yī】个【gè】asp.net的ajax网站🚬(或者建立普通网站后🍱修改【xiū gǎi】webconfig)

第二步,在页面建立控件:

< asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="true" />    < div id="show" runat="server">aaaa           < /div>     < asp:HiddenField ID="HiddenField1" runat="server" />     < input type="button" value="1111" onclick="myFun()" id="Button2" />          < asp:Button ID="Button1" runat="server" Text="getValue" OnClick="Button1_Click" />  
第三步【dì sān bù】🐟,js

< script>          function myFun()          {              PageMethods.GetDate('a',myCallBack)          }                    function myCallBack(result)          {              var di = document.getElementById("HiddenField1");              di.value=result;                 var di = document.getElementById("show");              di.innerHTML=result;              }                < /script>  
第四步【dì sì bù】📖,后台代码

注意【zhù yì】📣,这个方法😞必须是【bì xū shì】静态方法😞,必须是【bì xū shì】写入以👽下特性。

因此这个方法不可以直接访问页面的值

[System.Web.Services.WebMethod]      public static DateTime GetDate(string a)      {           return DateTime.Now;      }      protected void Button1_Click(object sender, EventArgs e)      {           DataTable dt = (DataTable)this.DataList1.DataSource;           Response.Write(dt.Rows.Count);      }  
ASP.NET中使用【zhōng shǐ yòng】🎱AJAX中的方式【shì】2:使用🥐ICallbackEventHandler

第一步同上

第二步,页面实现接口

public partial class Default2 : System.Web.UI.Page, ICallbackEventHandler


第三步,建立控件


< form id="form1" runat="server">                  < div id="show">             < /div>      < input type="button" onclick="CallServer()" value="CallServer">< /input>  
第四步【dì sì bù】🕥,

写入js


< script type="text/javascript">        function CallServer()       {           var product = "1";           < %= ClientScript.GetCallbackEventReference(this, "product", "ReceiveServerData",null)%>;       }             function ReceiveServerData(rValue)       {          alert(rValue);               var di = document.getElementById("show");              di.innerHTML=rValue;      }   < /script> 
第五步【dì wǔ bù】🐖,

后台代码

声明变【shēng míng biàn】量😱: public  string CallBackValue;

接口方法:


public string GetCallbackResult()      {          return CallBackValue + ",ok";       }       public void RaiseCallbackEvent(string eventArgument)      {                         this.CallBackValue = eventArgument;                      }  
说明【shuō míng】:RaiseCallbackEvent是实际🧥做事的【zuò shì de】方法⏭

GetCallbackResult是执行【shì zhí háng】完动作回调的🥢方法【fāng fǎ】🐾。

可以修改控件的值。

先执行【xiān zhí háng】🥔后台的【hòu tái de】回调👃方法【fāng fǎ】,后执行🤕前台js的回调👃方法【fāng fǎ】

可以使用【yòng】😡RenderControl等类【děng lèi】,来将asp.net控件输🀄出为html

可以在RaiseCallbackEvent中switchargument,看看是【kàn kàn shì】🌪什么地🐷方传来的,以便调【yǐ biàn diào】👵用不同【yòng bú tóng】的函数。

关键词:ASP.NET,AJAX

阅读本文后您有什么感想? 已有 人给出评价!

  • 1 欢迎喜欢
  • 1 白痴
  • 1 拜托
  • 1 哇
  • 1 加油
  • 1 鄙视