zoukankan      html  css  js  c++  java
  • 利用AjaxPro2.0实现在页面直接修改数据

       开发中我经常遇到一些需求

        客户问我:”可不可以让我在浏览的时候,看到一些错误的数据时就直接在那修改?免得又要到指定的地方修改信息,这样麻烦又耗时。毕竟我只想修改这一个数据嘛?“

       我回答:”恩,可是可以只想很麻烦,并且数据不好控制,验证“

      然后客户就叹气,仍客气的说”那就算了“。我也支支吾吾,就这样过了。(不要砸我哦!我也想缩短开发时间,呵呵)

    经历这样的事多了,所以我就决定做一个通用的工具(也就几个类和js文件)

      Js 处理 提交数据:


    var ajaxObj=YSKFX;//ajxapro注册类
    //
    双击单元格 可以更改内容
    //obj 单元格对象
    //id 修改对象所关联的主键 更多参数可以自行增加 (此本分为条件部分),如此刻我这里条件部分还要 参数 date

    function YouChange(obj,id,date){

    var attr=" class='inputbg' "; //属性 可以连续增加
    //内容更改为 textbox 失去焦点触发更新事件
    obj.innerHTML="<td><input id='up_ip_"+id+"' type='input' value='"+obj.innerText+"' onblur=\"SaveUpdate(this,'"+id+"','"+obj.innerText+"','"+date+"')\" "+attr+" /><td>";

    }

    function SaveUpdate(obj,id, oldValue ,date){
    //如果数据已更改 提交服务器修改数据
    if(obj.value!=oldValue){
    var result=ajaxObj .UpdateField(id, obj.value,date).value;
    if(result=="1")//更新成功
    {
    $(
    "#"+obj.id).parent().html(obj.value);
    }
    else if(result==null || result=="0" )
    {
    alert(
    "更新失败");
    }
    else
    {
    alert(result);
    }
    }
    else
    {
    $(
    "#"+obj.id).parent().html(obj.value);
    }
    }


    在 GridView绑定数据时(其他不管是什么多可以) 对于第一个单元格内容双击进入修改状态 ,对此添加的属性 

    e.Row.Cells[0].Attributes.Add("ondblclick", "YouChange(this,'" + e.Row.Cells[e.Row.Cells.Count-1].Text + "','" + txtSelectDate.Text.Trim() + "')");

    Ajax方法类

    /// <summary>
    /// 更新备注信息
    /// </summary>
    /// <param name="id">账龄</param>
    /// <param name="value">新备注</param>
    /// <param name="value">账龄计算时间</param>
    /// <returns>更新结果。1表示成功,0或null表示失败,同时可以将提示信息作为结果返回</returns>
    [AjaxPro.AjaxMethod]
    public string UpdateField(string id, string value, string date)
    {
    //数据处理代码
    return "1";
    }

    页面注册

    protected void Page_Load(object sender, EventArgs e)
    {
    AjaxPro.Utility.RegisterTypeForAjax(
    typeof(这里是AjaxMethod所在类对象), this);
    }

    到此结束! 好费劲哦,出现了几次排版出错!!!

    其实这个需求的实现也不难。这只是对于初学者比较适合的一段示例 !希望有高手指点指点!

  • 相关阅读:
    封装成帧、帧定界、帧同步、透明传输(字符计数法、字符串的首尾填充法、零比特填充的首尾标志法、违规编码法)
    计算机网络之数据链路层的基本概念和功能概述
    物理层设备(中继器、集线器)
    计算机网络之传输介质(双绞线、同轴电缆、光纤、无线电缆、微波、激光、红外线)
    计算机网络之编码与调制
    0953. Verifying an Alien Dictionary (E)
    1704. Determine if String Halves Are Alike (E)
    1551. Minimum Operations to Make Array Equal (M)
    0775. Global and Local Inversions (M)
    0622. Design Circular Queue (M)
  • 原文地址:https://www.cnblogs.com/howDo/p/1757295.html
Copyright © 2011-2022 走看看