传值方式:ajax技术和普通传值方式

一、使用ajax技术实现:前台js调用后台函数

使用ajax准备工作:

 1,前提需要引用一个dll  全名AjaxPro.2.dll

2,web.config中需要配置

 
<configuration>
  <system.web>

  <httpHandlers>

     <add verb="POST,GET" path="ajaxpro/*.ashx" type="AjaxPro.AjaxHandlerFactory, AjaxPro"/>

   </httpHandlers>

  <pages validateRequest="false" controlRenderingCompatibilityVersion="3.5" clientIDMode="AutoID"/>

  </system.web>

</configuration>

 第一种传值方式(post方式传值到其他页面):

$.ajax({
                       type: "POST",
                       url: "../../DispatchManage/ReportSaveData.aspx",
                       data: { "data": encodeURI(result) }, // + "&tbrq=" + tbrq + "&dept=" + dept,
                       success: function (msg) {
                           if (msg == "-1") {
                               alert("填报的数据的状态为审核中或者审核完成,不允许修改数据!!");
                           }
                           else if (msg == "0") {
                               alert("保存成功!");
                           }
                           else {
                               alert("保存失败!");
                           }
                       }
                   });

页面ReportSaveData.aspx的后台需要解码获得参数data对应的值result,写法如下:

Server.UrlDecode(Request["data"]);

 

第二种传值方式(页面前后台传值)

1,cs中代码:在Index类中,先注册Index类为Ajax,然后才能在这个类中写Ajax方法体
        protected void Page_Load(object sender, EventArgs e)
        {
            AjaxPro.Utility.RegisterTypeForAjax(typeof(Index));  //1处、index为类名
    }
        [AjaxPro.AjaxMethod(AjaxPro.HttpSessionStateRequirement.ReadWrite)]
        public string  MyRemarkInfo()
        {
      方法块....... 
    }


2,前台js代码:如何使用后台生命的Ajax方法:
        function RemarkInfos()
        {
            var ri=LRWorkflowWeb.Index; //2处、获取类(namespace.namespace.namespace.classname)
            var reinfo= ri.MyRemarkInfo();//3处、MyRemarkInfo()是方法
    }
 

 二、普通传值方式(非ajax)

1,前台js调用后台函数:借用后台的控件button实现;
(1)html
        <input type="button" ID="BtnSaveBack"  value="保存" class="sbutton vm"  onclick="show_confirm()" />
        <asp:Button ID="BtnSaveBackHidden" runat="server"  style=" display:none; border:0;"  OnClick="BtnSaveBack_Click"  />
(2)js中间
    function show_confirm() {
        var r = confirm("确认此项操作吗?");
        if (r == true) {
            document.getElementById("<%=BtnSaveBackHidden.ClientID%>").click();
        }
    }
(3)cs文件中的后台函数(事件)
        public void BtnSaveBack_Click(object sender, EventArgs e)
        {
  方法块
 }

 

 

 

posted @ 2013-07-28 15:59  namehwh  阅读(426)  评论(0编辑  收藏  举报