比如:根据ID获取到3个值赋给页面上的3个TextBox,TextBox1.text = "1";
TextBox2.text = "2";
TextBox3.text = "3";
当点击提交修改按钮Button时,判断页面其中某一个TextBox的值是否被修改,如果有修改则插入到修改记录表里面,如:当TextBox1.text = "1"修改为:TextBox1.text = "a1";其他TextBox不变,则插入:“TextBox1被修改”。
TextBox2和TextBox3不做记录。

解决方案 »

  1.   

    可行的辦法之一:
    用ViewState["..."]來保存當前頁面三個TextBox中未修改之前的值,在點擊Button時,用文本框中當前的值分別比較ViewState["..."]的值,有其中之一不相等,便可以做記錄的插入了。。
      

  2.   

    Page_Load:
    ViewState["txt1"] = TextBox1.Text;
    ViewState["txt2"] = TextBox1.Text;
    ViewState["txt3"] = TextBox1.Text;Button 的_Click:
    if((ViewState["txt1"].ToString() != TextBox1.Text) ||
        (ViewState["txt2"].ToString() != TextBox2.Text) ||
        (ViewState["txt3"].ToString() != TextBox3.Text) ||)
    {
       ...
       開始修改
        再對做過修改的進行記錄
        ViewState[".."] = ...;(如果修改完後跳到其他頁面則不必了)
    }
      

  3.   

    吧原始值同时保存到 tooltip 和 text 中,提交后,去检测即可。这个方法很高效,呵呵,很投机取巧,很多功能都可以用到。包含实时提示栏位值有变化涂成红色,等等
      

  4.   


    谢谢,问题主要的还是插入记录应该怎么写??  不可能每个控件都做个判断吧?比如:TextBox1和TextBox2有修改,其他的TextBox没有修改,我这个应该怎么判断?
      

  5.   


    是的,就是要有修改记录,比如:“TextBox1值1被修改为a1”,如果其他的没做修改就不需要记录,怎么应该怎么判断,不想每一个TextBox都做一个判断,如果控件多了这样很麻烦。
      

  6.   

    方法一:用缓存技术,至于缓存时间及缓存条件可根据实际情况而定,根据缓存值与文本修改值做对比;
    方法二:在数据库中写个修改操作触发器或者函数,当执行修改操作时,用sql语句判断当前值是否改变的查询,并返回结果语句,根据返回结果,呈现提示至页面显示层
      

  7.   


    foreach(Control control in this.Controls)
    {
    if(control is TextBox)
    {
    TextBox textBox = control as TextBox;
    textBox.TextChanged += new System.EventHandler(OnTextChanged);
    }
    }private void OnTextChanged(object sender,EventArgs e)
    {
    TextBox textBox = sender as TextBox;
    string log=textBox.Name+"值被修改为"+textBox.Text;
    MessageBox.Show(log);
    }
    不知道是不是要这样的..随便敲敲...拼写有没错就不检查了啊..大概这样吧
      

  8.   

    这个很好判断啊,记下它以前的值,再进行比较。
    只是不知道,如果用户把text1的值先删去,再写上1,到底算修改了,还是算没改?
      

  9.   

    你可以放到session当中,然后点击按钮的时候,和之前的做比较 。
      

  10.   

    额....可以帮textbox写一个style拥有共同的修改函数。