.NET中TextBox控件設(shè)置ReadOnly=true后臺取不到值三種解決方法
原理沒想通,說不清楚微軟是出于什么考慮的,不過有時是要我們能通過前臺腳本來填充值,并不希望用戶修改其控件內(nèi)容,這時就比較尷尬了。
剛開始是換成Html 里的 <input type="text" readonly="readonly" > ,不過后來發(fā)現(xiàn)這個工作量是很大的, 所以網(wǎng)上搜了下,沒找出TextBox ReadOnly="true" 頁面填充值取不到的原因,不過問題還算解決了。
正文:
出于vs2005對頁面代碼的規(guī)范與安全,個人意見是使用第二種方法
知道為什么TextBox設(shè)置了ReadOnly屬性后,取不到值原理的,給下說明,謝謝啦!
在.NET 2.0 下,當(dāng)頁面上的某個TextBox 設(shè)置了屬性ReadOnly="True"時,通過客戶端腳本給其賦值后,在后臺代碼中訪問其Text屬性卻無法獲得該值。經(jīng)過嘗試,發(fā)現(xiàn)可以通過如下的方式解決這個問題:
方法一:不設(shè)置ReadOnly屬性,通過onfocus=this.blur()來模擬,如下:
<asp:TextBox ID="TextBox1" runat="server" onfocus=this.blur()></asp:TextBox>
在此情況下,當(dāng)文本框獲得焦點時便立刻失去,所以也無法手動修改其內(nèi)容,能夠模擬ReadOnly,在后臺代碼中也能通過Text屬性,正常獲取通過腳本在客戶端設(shè)置的值;
方法二:設(shè)置了ReadOnly屬性后,通過Request來取值,如下:
前臺代碼:
<asp:TextBox ID="TextBox1" runat="server" ReadOnly="True" ></asp:TextBox>
后臺代碼:
string Text = Request.Form["TextBox1"].Trim();
方法三:在Page_Load()正設(shè)置文本框的只讀屬性,在前臺不設(shè)置。就能正常讀取,如下:
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
TextBox1.Attributes.Add("readonly","true");
}
}
相關(guān)文章
CHECKBOX 的全選、取消及跨頁保存的實現(xiàn)方法
CHECKBOX的操作在頁面中很常見,比如全選、取消、跨頁保存等等,下面有個不錯的示例,大家可以嘗試操作下2013-10-10.net core高吞吐遠程方法如何調(diào)用組件XRPC詳解
這篇文章主要給大家介紹了關(guān)于.net core高吞吐遠程方法如何調(diào)用組件XRPC的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用.net core具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05jQuery Data Linking 對象與對象之間屬性的關(guān)聯(lián)
ASP.NET團隊最近還向jQuery社區(qū)提交了被稱為data linking的技術(shù),Data Linking可以幫助你實現(xiàn)對象與對象之間屬性的關(guān)聯(lián)——當(dāng)其中一方發(fā)生改變時另一方也隨之改變。2010-12-12swagger上傳文件并支持jwt認(rèn)證的實現(xiàn)方法
今天通過本文給大家分享swagger上傳文件并支持jwt認(rèn)證的實現(xiàn)方法,文中提到了安裝方法及實現(xiàn)代碼,感興趣的朋友跟隨腳本之家小編一起學(xué)習(xí)吧2018-05-05解析WPF實現(xiàn)音頻文件循環(huán)順序播放的解決方法
本篇文章是對WPF實現(xiàn)音頻文件循環(huán)順序播放的方法進行了詳細的分析介紹,需要的朋友參考下2013-05-05.NET Core類庫System.Reflection.DispatchProxy實現(xiàn)簡易Aop的方法
這篇文章主要給大家介紹了關(guān)于.NET Core類庫System.Reflection.DispatchProxy實現(xiàn)簡易Aop的相關(guān)資料,文中通過示例代碼結(jié)束的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-12-12在ASP.NET中用MSDNURLRewriting實現(xiàn)Url Rewriting
在ASP.NET中用MSDNURLRewriting實現(xiàn)Url Rewriting...2007-03-03Visual Studio Debug實戰(zhàn)教程之基礎(chǔ)入門
這篇文章主要給大家介紹了關(guān)于Visual Studio Debug實戰(zhàn)教程之基礎(chǔ)入門的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2018-09-09