簡體   English   中英

如何使文本框在asp.net中不可編輯(c#)

[英]How to make textbox as not editable in asp.net(c#)

我正在創建一個ASP Web應用程序,在該應用程序中,一個表單必須更新文本框字段中的日期值,我將日歷按鈕放在該文本框附近。 它可以更新該文本框字段中的日期但可編輯。 我想通過僅使用日歷按鈕更新日期值,我使用只讀屬性但返回空值,因此不起作用。

嘗試客戶端html readonly屬性而不是ASP.NET服務器端readonly

myTextBox.Attributes.Add("readonly", "readonly");

來自MSDN,

將ReadOnly屬性設置為true的TextBox控件的Text值在發生回發時發送到服務器,但服務器不對只讀文本框進行處理。 這可以防止惡意用戶更改只讀的Text值。 除非由服務器端代碼修改,否則Text屬性的值將保留在回發之間的視圖狀態中。

這就是為什么具有服務器端readonly屬性的文本框在回發中具有空值。

您可以使用TextBox1.Enabled = false; 要么

TextBox1.Attributes.Add("readonly","readonly");

區別在於,如果你使enabled= false那么你不能傳遞textbox的值。 如果你需要傳遞的值textbox ,那么你應該使用的只讀屬性textbox

在代碼隱藏文件的頁面加載事件上只需編寫以下代碼:

yourTextBoxName.Attributes.Add("readonly","readonly");

你也可以通過使用財產來做同樣的事情

Enabled="false"

在您的aspx頁面上,但是您將無法在頁面后面的代碼中訪問它的值。

你可能想用這個

   TextBox1.Enabled = false;

您可以在asp.net中使textBox不可編輯

通過使用只讀它會在post back上給出這個java腳本屬性的問題

onkeydown =“javascript:return false”

通過使用這個你可以擁有像readonly這樣的屬性,並且絕對沒有問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM