程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> .NET實例教程 >> asp.net 2.0裡當readonly遇上enableviewstate=false

asp.net 2.0裡當readonly遇上enableviewstate=false

編輯:.NET實例教程
     偶然在一個老外的blog裡看到有這樣的描述,當textbox控件裡被設置為readonly時,而且頁面的enablevIEwsate設置為false時,提交後,textbox的值會丟失,這只發生在asp.net 2.0中,在ASP.Net 1.0/1.1中不會出現這樣的情況,代碼如下:
  <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.ASPx.cs" EnableVIEwState="false" Inherits="_Default" %>
  
  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xHtml1-transitional.dtd">
  <script runat="server">
  
  
  
   protected void Page_Load(object sender, EventArgs e)
  
   {
  
   if (!this.IsPostBack)
  
   {
  
   this.Textbox1.Text = "readonly text";
  
   }
  
   }
  
   protected void Button1_Click(object sender, EventArgs e)
  
   {
  
   this.lblMessage.Text = this.Textbox1.Text;
  
   }
  
  </script>
  
  <html XMLns="http://www.w3.org/1999/xHtml" >
  <head runat="server">
   <title>Untitled Page</title>
  </head>
  <body>
   <form runat="server" id="Form1">
  
  <asp:textbox ID="Textbox1" runat="server" ReadOnly="true" ForeColor="silver"></ASP:textbox>
  
  <asp:textbox ID="Textbox2" runat="server" ReadOnly="true">Some Text</ASP:textbox>
  
  <ASP:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" /><br />
  
  <asp:Label ID="lblMessage" runat="server" Text="Label"></ASP:Label>
  
  </form>
  
  
  </body>
  </Html>
  在.net 2.0下運行,的確會丟失了文本框的值。最後,找到了MSDN的解析和微軟的BUG反饋中心,其實這不是BUG,是.Net 2.0下為了安全的一個小改變
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved