asp.net中textbox 設為“只讀”,客戶端無法輸入值了,但可以透過腳本更改textbox 的值,如︰
document.getElementById("textbox1").value="ddd";
【注意︰回傳后,在伺服器端,無法用如下方法取得客戶端更改后的值】︰
string aaa=textBox1.Text;
取得的還是原來的值,因為是只讀的文字框,asp.net只會從viewstate的取得值,不會再檢查文字框的新值,
要解決這個問題,不要設置文字框readonly屬性,而手動寫︰
textBox1.Attributes["readonly"]="readonly";
就可以了,
在頁面的Page_Load中
if(!IspostBack)
{
textBox1.Attributes["readonly"]="readonly";
}
不要在HTML中直接加readonly屬性
document.getElementById("textbox1").value="ddd";
【注意︰回傳后,在伺服器端,無法用如下方法取得客戶端更改后的值】︰
string aaa=textBox1.Text;
取得的還是原來的值,因為是只讀的文字框,asp.net只會從viewstate的取得值,不會再檢查文字框的新值,
要解決這個問題,不要設置文字框readonly屬性,而手動寫︰
textBox1.Attributes["readonly"]="readonly";
就可以了,
在頁面的Page_Load中
if(!IspostBack)
{
textBox1.Attributes["readonly"]="readonly";
}
不要在HTML中直接加readonly屬性
本文介紹了ASP.NET中TextBox設為只讀時,客戶端無法修改值的情況及解決方法。通過手動設置textBox1.Attributes[readonly]屬性而非直接使用readonly屬性,可以在保持只讀狀態的同時允許客戶端腳本更改值,並確保伺服器端能正確獲取到更新後的值。
600

被折叠的 条评论
为什么被折叠?



