How to:form只submit一次 (最后更新2003/11/13)
问题:
如果连续Submit一个Form多次而未加处理的话,可能会引起错误。比如在一个新建Record的Asp.Net页面中,连续点Button : Save多次,就会连续提交Form,可能新建多个Record
解决方法:
在第一次处理提交的Form的时候,在Cache里Insert一个Key
Cache.Insert(key, true,null,DateTime.Now.AddSeconds(context.Server.ScriptTimeout),TimeSpan.Zero);
处理完之后把这个Key从Cache中Remove掉
Cache.Remove(key);
后续的提交的Form如果发现Cache中有这个Key就放弃处理
if ( key == null || Cache.Get(key) == null );
这个Key可以每次生成Form的时候动态注册到Form中
Page.RegisterHiddenField("myID",Guid.NewGuid().ToString());
Page.Trace.Write("New ID",newID);
注:
没有办法用Form的submit事件,因为submit事件只有通过input text=submit才能触发。
参考:
posted on 2003-11-13 18:21:00 by microhelper 评论(4) 阅读(1884)
