Ajax使用心得

1、先在程序load的时候注册类到Ajax

如:private void Page_Load(object sender, EventArgs e) 
  { 

        Ajax.Utility.RegisterTypeForAjax(typeof(BD0047));        //将类BD0047加到Ajax中

}

2、在要在前调用的方法前加 [AjaxMethod()]
如:[AjaxMethod()]
  public int CountIssueDays(string strIssueDate,string strMaturityDate)
  { 
   int retValue=0;
   if(strIssueDate!="" && strMaturityDate!="")
   {  
    string []strStartDate=new string[]{""};
    string []strEndDate=new string[]{""};
    //将日期分割成数组
    int placeIssueDate=strIssueDate.IndexOf("-",0,strIssueDate.Length);           //判断日期中是否有'-'号
    int placeMaturityDate=strMaturityDate.IndexOf("-",0,strMaturityDate.Length);  //判断日期中是否有'-'号
    if(placeIssueDate==0)
    {
     strStartDate=new string[]{strIssueDate.Substring(0,4),strIssueDate.Substring(4,2),strIssueDate.Substring(6,2)};
           
    }
    else
    {
     strStartDate=strIssueDate.Split('-');
    }
    if(placeMaturityDate==0)
    {
     strEndDate=new string[]{strMaturityDate.Substring(0,4),strMaturityDate.Substring(4,2),strMaturityDate.Substring(6,2)};
    }
    else
    {
     strEndDate=strMaturityDate.Split('-');
    }
               
    TimeSpan tsIssueDays=new TimeSpan();
 
    DateTime dtIssueDate=new DateTime(int.Parse(strStartDate[0]),int.Parse(strStartDate[1]),int.Parse(strStartDate[2]));
    DateTime dtMaturityDate=new DateTime(int.Parse(strEndDate[0]),int.Parse(strEndDate[1]),int.Parse(strEndDate[2]));

    tsIssueDays=dtMaturityDate-dtIssueDate;
                
    retValue=tsIssueDays.Days + 1;
   }
   return retValue;
  }

3、在HTML代码的最底部</Body>前加入JavaScript

var strIssueDays = document.getElementById("txtIssueDays_txtIssueDays_EditBox"); //发行天数

var strMaturityDate = document.getElementById("txtMaturityDate_txtMaturityDate_EditBox"); //到期日

var strIssueDate = document.getElementById("txtIssueDate_txtIssueDate_EditBox"); //发行日

获得页面上的控件的ID,以便把它的Value值传进要调用的方法中

4、在前台HTML中用JavaScript调用后台的方法

//计算发行天数 function CountIssueDays()

{

var returnIssueDays=BD0047.CountIssueDays(strIssueDate.value,strMaturityDate.value); strIssueDays.value=returnIssueDays.value;

}

5、再用下面语句触发事件执行Ajax去调用后台的方法

■先获得触发控件的ID

var strIssueDays = document.getElementById("txtIssueDays_txtIssueDays_EditBox"); //发行天数

var strMaturityDate = document.getElementById("txtMaturityDate_txtMaturityDate_EditBox"); //到期日

■触发计算发行天数事件

strIssueDate.attachEvent('onblur',function(){CountIssueDays();}); 

strMaturityDate.attachEvent('onblur',function(){CountIssueDays();});

■注意事项:

1、要在程序load的时候注册类到Ajax

2、要把Ajax引进程序中,再用Using Ajax把它引用进程序中

3、要在网站总目录下有一个Web.config配置文件

用文件编辑器打开它,

在里面的<system.web>下加入以下代码

   <httpHandlers>
      <add verb="POST,GET" path="ajax/*.ashx" type="Ajax.PageHandlerFactory, Ajax" />
    </httpHandlers>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值