AJAX前后台调用--动态调用onclick事件

后台:
首先添加一个using AjaxPro;引用
然后加上 [AjaxPro.AjaxNamespace("TextVerify")]这个标记,并在窗体的加载事件里面加上AjaxPro.Utility.RegisterTypeForAjax(typeof(页面名字));
后台:
  StringBuilder strHtml = new StringBuilder();
  strHtml.Append("<a οnclick=/"GetPId('" + dt.Rows[i]["productID"].ToString() + "')/"><img src=/"../images/buttons_coll.jpg/" /></a>");   //动态加载的,这里的GetPId方法调用的是前台的
下面是我做的一个收藏产品的方法:
  /// <summary>
        /// 收藏产品方法
        /// </summary>
        [AjaxPro.AjaxMethod]
        public string GetSave(string pid)
        {
            string str=null;

            Poucan.BLL.CustomerFavorites bll = new Poucan.BLL.CustomerFavorites();
            Poucan.Model.CustomerFavorites model = new Poucan.Model.CustomerFavorites();

            if (PageProduct.getCustomerName() != null)
            {

                if (bll.Exists(int.Parse(pid), PageProduct.getCustomerName()) == false)
                {
                    model.Sorts = "1";
                    model.pid = int.Parse(pid);
                    model.Customer = PageProduct.getCustomerName();//用户
                    int ID = bll.Add(model);   //收藏的方法
                    str = ID.ToString();
                    str = "1";
                }
                else
                {
                    str = "2"; 
                }
            }
            else
            {
                str = "3";
            }
          return str; 
        }

前台代码:
  function GetPId(pid) {
        var SaveProduct = TextVerify.GetSave(pid,callback);
    }

 

    //回调函数
    function callback(aa)
    {

        if (aa.value == "1") {
            alert("收藏成功!");

        }
        else if (aa.value == "2") {
            alert("商品已存在,不能重复收藏!!");

        }
        else if (aa.value == "3") {
        alert("不能收藏,请登录.........", window.location = "/User/login.aspx");
        }
       
      }

 

实现打印功能的前后台对接,通常需要前端和后端协同完成。以下是一个简单的前后台对接示例: 1. 前端页面:在前端页面上添加一个“打印”按钮,用户点击该按钮时触发打印事件。 ```html <button onclick="print()">打印</button> ``` 2. 前端脚本:在前端脚本中实现打印事件的处理逻辑。可以通过 AJAX 请求后台接口获取打印数据,然后调用浏览器的打印功能进行打印。 ```javascript function print() { // 发送 AJAX 请求获取打印数据 $.ajax({ url: "/print", method: "GET", success: function(data) { // 调用浏览器的打印功能进行打印 window.print(); } }); } ``` 3. 后端接口:在后端接口中处理打印请求,生成打印数据并返回给前端。 ```java @RestController public class PrintController { @GetMapping("/print") public Object print() { // 生成打印数据 String data = "Hello, world!"; return data; } } ``` 在上述示例中,前端页面上的“打印”按钮被点击后,会触发`print()`函数。该函数会发送一个 AJAX 请求到后端接口`/print`,获取打印数据。接着,浏览器会调用自己的打印功能进行打印。 在后端接口中,我们可以根据具体的业务逻辑生成打印数据,然后将其返回给前端。前端通过获取到的数据来调用浏览器的打印功能进行打印。 当然,真正的应用场景可能更加复杂,需要更加严谨和精细的前后台对接。你可以根据实际需求来选择相应的技术和方案。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值