ÔÚÒÔǰµÄASP.NET 1.x°æ±¾ÖУ¬ÉèÖÃΪReadOnlyµÄTextBox¿Ø¼þÔÚ¿Í»§¶Ë¸ü¸ÄÁËÖµºó£¬ÔÚ·þÎñÆ÷¶ËÈÔÈ»¿ÉÒԵõ½Ð޸ĺóµÄÖµ£¬µ«ÔÚASP.NET 2.0ÖУ¬ÕâÖÖ×ö·¨ÒѾÏÞÖÆ¡£ÕâÊÇΪÁËÌá¸ßÓ¦ÓóÌÐò°²È«ÐÔËù¿¼Âǵġ£ÏÂÃæ¾ÍÊÇTextBox¿Ø¼þ»ñµÃÊý¾ÝµÄÄÚ²¿·½·¨£¬ÓÉ´Ë¿ÉÒÔ¿´³öReadOnlyµÄÏÞÖÆ£º
protected virtual bool LoadPostData(string postDataKey, NameValueCollection postCollection)
{
¡¡base.ValidateEvent(postDataKey);
¡¡string text1 = this.Text;
¡¡string text2 = postCollection[postDataKey];
¡¡if (!this.ReadOnly && !text1.Equals(text2, StringComparison.Ordinal))
¡¡{
¡¡¡¡this.Text = text2;
¡¡¡¡return true;
¡¡}
¡¡return false;
}
¡¡¡¡ÕâÀïÏÞÖÆµÄÖ»ÊÇTextÊôÐÔ£¬¶øÃ»ÓÐÏÞÖÆÌá½»Êý¾ÝµÄÃû³Æ/ÖµµÄNameValueCollection£¬Òò´Ë£¬Í¨¹ýRequest["±íµ¥Ãû³Æ"]µÄ·½·¨ÈÔÈ»¿ÉÒԵõ½ÖµµÄ¡£ÏÂÃæµÄÀý×Ó³ä·Ö˵Ã÷ÁËÕâÒ»µã£¬²¢ÇÒÌṩÁ˼ÈʹÓÃReadOnly£¬ÓÖ¿ÉÒÔͨ¹ýTextÊôÐÔ»ñµÃÖµµÄ·½·¨£º
£¼%@ Page Language="C#" EnableViewState="false" %£¾
£¼!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 Button1_Click(object sender, EventArgs e)
{
¡¡Response.Write("£¼li£¾TextBox1 = " + TextBox1.Text);
¡¡Response.Write("£¼li£¾TextBox2 = " + TextBox2.Text);
¡¡Response.Write("£¼li£¾TextBox3 = " + TextBox3.Text);
¡¡Response.Write("£¼li£¾Request.Form[TextBox1] = " + Request.Form[TextBox1.UniqueID]);
¡¡Response.Write("£¼li£¾Request.Form[TextBox2] = " + Request.Form[TextBox2.UniqueID]);
¡¡Response.Write("£¼li£¾Request.Form[TextBox3] = " + Request.Form[TextBox3.UniqueID]);
}
protected void Page_Load(object sender, EventArgs e)
{
¡¡TextBox3.Attributes.Add("readonly", "readonly");
}
£¼/script£¾
£¼script type="text/JavaScript"£¾
//£¼![CDATA[
function SetNewValue()
{
¡¡document.getElementById('£¼%=TextBox1.ClientID %£¾').value = "TextBox1 new Value";
¡¡document.getElementById('£¼%=TextBox2.ClientID %£¾').value = "TextBox2 new Value";
¡¡document.getElementById('£¼%=TextBox3.ClientID %£¾').value = "TextBox3 new Value";
}
//]]£¾
£¼/script£¾
£¼HTML XMLns="http://www.w3.org/1999/xHTML"£¾
£¼head runat="server"£¾
£¼title£¾ASP.NET 2.0ÖÐTextBox¿Ø¼þÓëReadOnlyºÍEnabledÊôÐÔ£¼/title£¾
£¼/head£¾
£¼body£¾
£¼form id="form1" runat="server"£¾
¡¡£¼span£¾TextBox1 ReadOnly£º£¼/span£¾
¡¡£¼ASP:TextBox ID="TextBox1" runat="server" ReadOnly="True" Text="TextBox1 Old Value"£¾£¼/ASP:TextBox£¾£¼br /£¾
¡¡£¼span£¾TextBox2 Enabled£º£¼/span£¾
¡¡£¼ASP:TextBox ID="TextBox2" runat="server" Enabled="False" Text="TextBox2 Old Value"£¾£¼/ASP:TextBox£¾£¼br /£¾
¡¡£¼span£¾TextBox3 ReadOnly£º£¼/span£¾
¡¡£¼ASP:TextBox ID="TextBox3" runat="server" Text="TextBox3 Old Value"£¾£¼/ASP:TextBox£¾£¼br /£¾
¡¡£¼br /£¾
¡¡£¼ASP:Button ID="Button2" runat="server" Text="ÐÞ¸ÄÐÂÖµ" OnClientClick="SetNewValue();return false;" /£¾
¡¡£¼ASP:Button ID="Button1" runat="server" Text="Ìá½»" OnClick="Button1_Click" /£¾
£¼/form£¾
£¼/body£¾
£¼/HTML£¾
¡¡¡¡¶ÔÓÚdisabledµÄTextBox£¬ÔÚ·þÎñÆ÷¶Ë²»Äܵõ½Ð޸ĵÄÖµ£¬Èç¹ûʵÔÚÒªÓÃÕâ¸öÊôÐÔ£¬ÄÇÖ®ºóʹÓÃÒþ²Ø±íµ¥ÓòµÄ·½·¨À´ÊµÏÖÁË¡£
¡¡¡¡ReadOnlyÊôÐÔµÄTextBoxÔÚ¿Í»§¶Ë»áÕ¹ÏÖ³ÉÕâÑùµÄ±ê¼Ç£º
£¼input readonly = "readonly"£¾
¡¡¡¡EnabledÊôÐÔµÄTextBoxÔÚ¿Í»§¶Ë»áÕ¹ÏÖ³ÉÕâÑùµÄ±ê¼Ç£º £¼input disabled="disabled"£¾
¡¡¡¡°´ÕÕW3CµÄ¹æ·¶£ºhttp://www.w3.org/TR/REC-HTML40/interact/forms.HTML#h-17.12
¡¡¡¡ÉèÖÃΪdisabledµÄinput½«»áÓÐÏÂÃæµÄÏÞÖÆ£º
¡¡¡¡¡¡·²»ÄܽÓÊÕ½¹µã
¡¡¡¡¡¡·Ê¹ÓÃtab¼üʱ½«±»Ìø¹ý
¡¡¡¡¡¡·¿ÉÄܲ»ÊÇsuccessfulµÄ
¡¡¡¡ÉèÖÃΪreadonlyµÄinput½«»áÓÐÏÂÃæµÄÏÞÖÆ£º
¡¡¡¡¡¡·¿ÉÒÔ½ÓÊÕ½¹µãµ«²»Äܱ»ÐÞ¸Ä
¡¡¡¡¡¡·¿ÉÒÔʹÓÃtab¼ü½øÐе¼º½
¡¡¡¡¡¡·¿ÉÄÜÊÇsuccessfulµÄ
¡¡¡¡Ö»ÓÐsuccessfulµÄ±íµ¥ÔªËزÅÊÇÓÐЧÊý¾Ý£¬Ò²¼´ÊÇ¿ÉÒÔ½øÐÐÌá½»¡£disabledºÍreadonlyµÄÎı¾ÊäÈë¿òÖ»ÄÜͨ¹ý½Å±¾½øÐÐÐÞ¸ÄvalueÊôÐÔ¡£
http://dev.yesky.com/msdn/167/3003167.sHTML
×öÈËÒªºñµÀ£¬Çë×¢Ã÷ת×Ô¿áÍø¶¯Á¦(www.ASPCOOL.COM)¡£

