技术开发 频道

asp.net 2.0里当readonly遇上enableviewstate=false


【IT168技术文档】

  偶然在一个老外的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>
0
相关文章