[英]asp.net web form in multiple browser tabs
我在网格视图中有一个网格视图和一个编辑按钮。 在编辑按钮上单击我正在打开一个新的 aspx 页面,其中包含用于输入数据的文本字段。 当用户复制 gridview 的 URL 并在任何浏览器的新选项卡中打开它时,然后单击两个不同记录的编辑按钮。 如果用户更改第一个选项卡中的任何内容并提交。 它会更改第二个选项卡上记录的信息。 这是因为我将 session 中的用户 ID 传递到表单 aspx 页面,当用户在新选项卡中打开第二条记录时,session 得到更新。
是否只有两种方法可以将数据传递到 aspx 页面?
我不想使用查询字符串。 请帮忙谢谢。
您正在编写一个 ASP.Net 应用程序,所以最终您能做的只有这么多。 您可以通过浏览器请求一些东西,但如果他真的这样做,这完全取决于它。
您可以使用HTML Links 目标属性使其不太可能意外发生。 这要求浏览器重新使用该记录的任何已打开的选项卡。 但这不会阻止专职人员仍然打开 2 个副本。
一般来说,避免竞争条件的一种非常简单的方法是SQL rowversion列。 您使用 rest 检索行版本。 您将它保存在一个隐藏的公式字段中(这就是它们的用途)。 写入更新时,在写入之前检查它是否仍然匹配。 如果是,你更新。 如果不是,那么从那时起有人修改了记录,而您拒绝更新。 可以是另一个选项卡中的同一用户,也可以是世界尽头的另一个用户。 可能是这个标签是一年前打开的,在睡眠模式下存活。 没关系 - 任何更改都会触发此保护。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.