簡體   English   中英

asp.net web 表單在多個瀏覽器選項卡中

[英]asp.net web form in multiple browser tabs

我在網格視圖中有一個網格視圖和一個編輯按鈕。 在編輯按鈕上單擊我正在打開一個新的 aspx 頁面,其中包含用於輸入數據的文本字段。 當用戶復制 gridview 的 URL 並在任何瀏覽器的新選項卡中打開它時,然后單擊兩個不同記錄的編輯按鈕。 如果用戶更改第一個選項卡中的任何內容並提交。 它會更改第二個選項卡上記錄的信息。 這是因為我將 session 中的用戶 ID 傳遞到表單 aspx 頁面,當用戶在新選項卡中打開第二條記錄時,session 得到更新。

是否只有兩種方法可以將數據傳遞到 aspx 頁面?

  1. 使用 session
  2. 使用查詢字符串

我不想使用查詢字符串。 請幫忙謝謝。

您正在編寫一個 ASP.Net 應用程序,所以最終您能做的只有這么多。 您可以通過瀏覽器請求一些東西,但如果他真的這樣做,這完全取決於它。

您可以使用HTML Links 目標屬性使其不太可能意外發生。 這要求瀏覽器重新使用該記錄的任何已打開的選項卡。 但這不會阻止專職人員仍然打開 2 個副本。

一般來說,避免競爭條件的一種非常簡單的方法是SQL rowversion列。 您使用 rest 檢索行版本。 您將它保存在一個隱藏的公式字段中(這就是它們的用途)。 寫入更新時,在寫入之前檢查它是否仍然匹配。 如果是,你更新。 如果不是,那么從那時起有人修改了記錄,而您拒絕更新。 可以是另一個選項卡中的同一用戶,也可以是世界盡頭的另一個用戶。 可能是這個標簽是一年前打開的,在睡眠模式下存活。 沒關系 - 任何更改都會觸發此保護。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM