[英]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.