asp.net ajaxpro 幕後處理資料非同步處理方法解析(1/2)

來源:互聯網
上載者:User

asp教程.net ajaxpro 幕後處理資料非同步處理方法解析
一.AjaxPro的使用


1.在項目中添加引用,瀏覽找到AjaxPro.2.dll檔案

2.在Web.config中的system.web裡面寫入以下代碼
</configuration>

<system.web>
  <httpHandlers>
        <add verb="*" path="*.ashx" type="AjaxPro.AjaxHandlerFactory,AjaxPro.2"/>
      </httpHandlers>
</system.web>
<//configuration>

3.在載入事件中,加入
  AjaxPro.Utility.RegisterTypeForAjax(typeof(類名));

4.寫的方法都要用
[AjaxPro.AjaxMethod]開頭,然後在寫方法

5.調用時必須寫清楚
命名空間名.類名.方法,例:WebUI._Default.getData();

6.調用可分兩中方法(同步調用,非同步呼叫)

//在後台寫的無參方法
[AjaxPro.AjaxMethod]
public string getStr()
{
        return "hello my friends";
}
//在後台寫的有參方法
[AjaxPro.AjaxMethod]
public string getString(string str)
{
     return str + "Say: hello my friends";
}

a.同步調用
(1).拖入html控制項button
(2).雙擊,自動顯示在.aspx的指令碼中
(3).在裡面寫入你要輸入的內容
例:
//------------------同步調用無參-----------
  function Button1_onclick()
  {
         var res=WebUI._Default.getStr();
         alert(res.value);
  }
 
//------------------同步調用有參------------
function Button2_onclick() //TextBox1為伺服器控制項
{
    var str=document.getElementById("<%=TextBox1.ClientID%>").value;
    var res=WebUI._Default.getStr(str);
    alert(res.value);
}


b.非同步呼叫
(1).拖入html控制項button
(2).雙擊,自動顯示在.aspx的指令碼中
(3).在裡面寫入你要輸入的內容
例:

//-----------------非同步呼叫無參-----------------
function Button3_onclick() {
    WebUI._Default.getStr(getStrCallBack);
}
function getStrCallBack(res)
{
    alert(res.value);
}
//-----------------非同步呼叫有參-----------------
function Button4_onclick() {
    var str=document.getElementById("<%=TextBox1.ClientID %>").value;
    WebUI._Default.getString(str,getStringCallBack);
}
function getStringCallBack(res)
{
    alert(res.value);
}

7.調用對象

//對象

[AjaxPro.AjaxMethod]
public Class getClass()
{
       Class cla = new Class();
       cla.C_Id = 100;
       cla.C_Name = "34班";
       cla.Count = 20;
       return cla;
}
//------------------同步調用對象-----------
function Button5_onclick() {
    var res=WebUI._Default.getClass().value;
    alert("班級編號:"+res.C_Id+"名稱:"+res.C_Name+"人數:"+res.Count);
}
//------------------非同步呼叫對象-----------
function Button6_onclick() {
    WebUI._Default.getClass(getClassCallBack);
}
function getClassCallBack(clas)
{
    var res=clas.value;
    alert("班級編號:"+res.C_Id+"名稱:"+res.C_Name+"人數:"+res.Count);
}


8.資料集的使用

//方法
        [AjaxPro.AjaxMethod]
        public DataSet getInfo()
        {
            return WebUI.GetDataSet.getList();
        }

//--------------------非同步呼叫資料集--------------
function Button8_onclick() {
    WebUI._Default.getInfo(getDataSetCallBack);
}
function getDataSetCallBack(res)
{
    var dataset=res.value;
    var strHtml="";
    strHtml +='<table  style ="border-collaps教程e:collapse ; border-color:Gray ;"  border="1px">';
    strHtml +='        <tr>';
    strHtml +='            <td>學生編號</td>';
    strHtml +='            <td>名稱</td>';
    strHtml +='            <td>年齡</td>';
    strHtml +='        </tr>';
   
    for(var i=0;i<dataset.Tables[0].Rows.length;i++)
    {
        strHtml +='        <tr>';
        strHtml +='            <td>'+ dataset.Tables[0].Rows[i].stu_id +'</td>';
        strHtml +='            <td>'+ dataset.Tables[0].Rows[i].stu_name +'</td>';
        strHtml +='            <td>'+ dataset.Tables[0].Rows[i].stu_age +'</td>';
        strHtml +='        </tr>';
    }
    strHtml +='    </table>';
    thedata.innerHTML=strHtml;//thedata是一個<div id="thedata"></div>中的thedata
}

 

9.驗證碼的使用

//----------------------驗證碼的使用(必須採用同步調用)----------------------

//驗證碼的使用

[AjaxPro.AjaxMethod]
public bool ValidCodeData(string code)
{
     return (HttpContext.Current.Session["CheckCode"].ToString()==code);
}

function Button9_onclick() {
    var code=document.getElementById("<%=TextBox2.ClientID %>").value;
    var bool=WebUI._Default.ValidCodeData(code).value;
    if(bool==true)
    {
        alert("ok");
    }else
    {
        alert("no");
    }
}

二,直接調用:

網頁特效中:<%=後台方法%>
 function says()
    {
        alert("<%=Say()%>");
    }
    function del()
    {
         alert("<%=DeleteByID(8)%>");//DeleteByID(8)後台方法名    }

首頁 1 2 末頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.