锁定ASP.. NET页上的任何字段发生更改

本文关键字:字段 任何 ASP NET 锁定 | 更新日期: 2023-09-27 17:54:49

我想锁定一个ASP。当用户试图编辑该页上任何控件的值时。如果他只是在看,那就好了。当他编辑任何字段时,页面应该被锁定,其他用户应该仍然能够查看但不能编辑它。在ASP中是否有任何内置和更简单的方法来做到这一点?NET 4.0吗?我们应该使用客户端JQuery/Javascript吗?

编辑:- 下面是所需的场景,如果用户打开Page并对该页中的任何字段进行更改,则该页应该被锁定,这在DB上标记了一个标志(user ID)。当其他用户尝试编辑或更改页面时,它会显示一条消息,表明该页已被锁定并禁用Submit按钮。但是如果其他用户只是查看而没有做任何其他更改,这应该是可以的。

请告诉我。我发现Onchange事件可以用来做到这一点,但我有一个问题,因为我是新的ASP.NET?控件是否可以使用onchange事件?以及html控件和它们的ASP之间究竟有什么区别。. NET计数器部件。

谢谢,

锁定ASP.. NET页上的任何字段发生更改

如果我理解正确,您可能需要在数据库中标记表单是否正在编辑,如果是,由谁编辑。

我认为最好重新审视一下你需要做什么,以及你如何用另一种方式实现它。处理并发性很棘手,但肯定有更好的解决方案。

最后,"html控件和它们的ASP. js控件到底有什么区别?". NET计数器部件?"

ASP。. NET服务器控件基本上是用ASP编写的。NET标记,并且通常会在普通html元素之上引入大量额外的功能。最值得注意的是能够访问服务器端并通过称为ViewState的东西保留状态。在运行时,ASP。. NET控件呈现为普通的html。

正如claes指出的,网页默认是无状态的。如果你真的要做这样的事情,你必须定制开发它。我的第一个想法是,如果你真的必须这样做,这不是一个完美的解决方案:

也许可以在表中添加一些列来跟踪页面的状态,Locked(true/false), User(UserID,如果有的话),LockDate(当前日期/时间)

默认情况下保持页面上的控件启用=false。在页面上放一个编辑按钮。在On-click启用控件和在表中,设置锁定= true,用户id和保存日期和时间,这样你就知道是否有人在编辑。当用户保存页面时,解锁页面(Locked=false或null)

请记住,如果用户没有完成并且没有保存就退出,页面将处于锁定状态。因此,您可能不得不考虑在页面上设置一个计时器,并显示完成编辑的消息,例如5分钟。如果用户没有完成编辑,则更改页面的锁定状态,以便其他人可以编辑。

基本上你必须发展你的状态管理