主题:利用JavaScript实现类似Delphi中数据敏感控件DBTextBox!
关键字:JavaScript UserControl 数据敏感
我们在编写网络的数据库程序时,经常会遇到一个这样的问题,在数据的编辑页面(注意不在DataGrid中编辑数据),经常会放上一些TextBox来输入数据,然后点“保存”或者“返回”按钮,如果用户改变了TextBox中的数据,没有保存的直接点击了“返回”按钮的话,就应该提示用户数据没有保存。这个功能有些像Delphi中的数据敏感控件,但Delphi中一般编写的都是C/S的软件,到了WEB上就会大不相同。
那这个功能具体怎么实现呢,你可能会想到用TextBox自带的TextChange事件,当TextBox中的文本被改变时,通知服务器,然后再点击“返回”时进行相应的提示。但是,这里存在个重要的问题,如果这样做的话,页面每次都会产生PostBack,执行的效率会大打折扣,此路不通!
如果TextBox的Change能在客户端获得就好了,那就使用JavaScript吧。这里简单先说一下JavaScript:由于大部分的Win程序员习惯了原来的开发方式,现在转到Web上来开发,可能仍然保持着原来的思维方式,而且对于JavaScript没有足够的重视,这是不正确的!因为如果你的Web程序要想写好,不懂Html、JavaScript、CSS这些东西是写不好的。言归正传,现面就来说说这个功能怎么用JavaScript来实现。
一、自己封装一个DBTextBox用户控件,从System.Web.UI.UserControl继承下来。在这个控件的Load事件中加上如下代码:
private void Page_Load(object sender, System.EventArgs e)
{
// 在此处放置用户代码以初始化页面
//用js写入客户端
string tmpstr [url=mailto:=@]