[問題] WebForm 跨頁 POST Form

看板C_Sharp (C#)作者 (小淺)時間11年前 (2014/01/21 00:19), 編輯推噓1(107)
留言8則, 5人參與, 最新討論串1/1
我在 a.aspx 放了一個表單並提交到 b.aspx <form id="form1" runat="server" action="b.aspx"> .... </form> 但POST過去後就會出現 「Viewstate MAC 的驗證失敗。如果此應用程式是由 Web 伺服陣列或叢集所裝載,請 確定 <machineKey> 組態指定有相同的 validationKey 和驗證演算法。AutoGenerate 無法在叢集中使用。」 爬文後查到幾個方法,有些無效而有些覺得不太合適, 1. 在 Web.config 增加 machineKey 金鑰設定。無效。 2. 在目的頁關閉 EnableViewStateMac。有效,但擔心安全性。 3. 用 asp:Button 控制項設定 PostBackUrl 屬性。有效,但是button必須擺在form裡面 ,因為有特殊的需求須在form外面的按鈕控制submit的動作。 請問各位大大,是否有像第2種做法,但是可以限制來源頁面,不要全部放行的方法呢? 第1種方法感覺最方便,但就是沒辦法成功。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ※ 編輯: On1earth 來自: 114.37.216.174 (01/21 00:21)

01/21 20:26, , 1F
你要寫..ASP.NET沒錯吧? BUTTON CLICK事件
01/21 20:26, 1F

01/21 20:29, , 2F
Response.Redirect("b.aspx");
01/21 20:29, 2F

01/21 22:47, , 3F
原PO還在ASP時代嗎?該升級了喔XD
01/21 22:47, 3F

01/21 23:07, , 4F
請問大大可以提示一下新時代的做法嗎?
01/21 23:07, 4F

01/23 11:35, , 5F
有試過 Server.Transfer("b.aspx", true); 嗎??
01/23 11:35, 5F

01/23 11:35, , 6F
第二個參數代表會把A網頁的表單資料提交給B網頁
01/23 11:35, 6F

01/23 11:43, , 7F
或是用PreviousPage應該可以解決來源網頁的問題
01/23 11:43, 7F

01/24 14:42, , 8F
還是別在webform裡搞兩個<form>比較妥當
01/24 14:42, 8F
文章代碼(AID): #1ItKokSV (C_Sharp)
文章代碼(AID): #1ItKokSV (C_Sharp)