[英]Hidden Fields Lose Content on Postback
我正在嘗試創建一個無會話的網站,其中我正在使用StringBuilder將數據發布到另一種形式。 問題在於,將數據發布到其他表單后,頁面將正確加載,但是如果我重新加載頁面或單擊Enter,則隱藏字段將丟失其值。
例如
頁面A使用StringBuilder發布到頁面B,頁面B獲取表單數據並將其保存在隱藏字段中,但是現在如果刷新頁面,則所有內容都會丟失:
StringBuilder sb = new StringBuilder();
sb.Append("<html>");
sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
sb.AppendFormat("<form name='form' action='{0}' method='post'>", "page2.aspx");
sb.AppendFormat("<input type='hidden' name='param1' value='{0}'>", param1.Value);
sb.AppendFormat("<input type='hidden' name='param2' value='{0}'>", param2.Value);
sb.Append("</form>");
sb.Append("</body>");
sb.Append("</html>");
Response.Write(sb.ToString());
Response.End();
為了保持其值,需要在runat="server".
處標記隱藏字段runat="server".
那將是我的第一個方法-但是,如果您使用字符串構造表單,那么我認為這不起作用(而且表單也需要運行runat="server"
)
實際上是在查看您的代碼-您已經繞過了Web表單-因此您顯然沒有使用它們。 因此,我將如上所述使用Web表單,或者使用具有適當模型的MVC方法,如果操作正確,它將具有維持狀態的效果。
或者,可以從回發時的Request對象中獲取值-盡管有點老派。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.