2012-07-02 14 views
5

Stworzyłem jedną aplikację internetową ASP, w tej aplikacji jeden formularz musi zaktualizować wartość daty w polu tekstowym i umieścić przycisk kalendarza w pobliżu tego pola tekstowego. może aktualizować datę w polu tekstowym, ale można ją edytować. Chcę, aby wartość daty aktualizacji za pomocą tylko przycisku kalendarza, użyłem właściwości tylko do odczytu, ale zwraca pustą wartość, więc nie działa.Jak zrobić pole tekstowe jako nie edytowalny w asp.net (C#)

Odpowiedz

9

Wypróbuj atrybut strony html po stronie klienta readonly zamiast strony serwera ASP.NET readonly.

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

Od MSDN,

Wartość Tekst kontroli TextBox z właściwością ReadOnly ustawiony na true jest wysyłana do serwera, gdy wystąpi odświeżenie strony, ale serwer nie robi na przetwarzanie do odczytu tylko pole tekstowe. Zapobiega to zmianie złośliwego użytkownika wartości Text, która jest tylko do odczytu. Wartość właściwości Text jest zachowywana w stanie widoku między ogłaszaniem zwrotnym, chyba że została zmodyfikowana przez kod po stronie serwera.

Dlatego pole tekstowe z atrybutem serwera po stronie readonly ma wartość pustą w odświeżeniu.

+0

dzięki. jesteś najlepszy – soundy

0

może chcesz skorzystać z tej

TextBox1.Enabled = false; 
1

W przypadku obciążenia stronie kodu za pliku wystarczy napisać następujący kod:

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

można również zrobić to samo za pomocą własności

Enabled="false" 

na twojej stronie aspx, ale wtedy nie będziesz mieć dostępu do jej wartości w kodzie za stroną.

+0

"yourTextBoxName.Attributes.Add (" readonly "," readonly ");" jest lepszy, ponieważ umożliwia zmianę rozmiaru pola tekstowego i "Enabled =" false "" nie ". – SubqueryCrunch

3

Można użyć TextBox1.Enabled = false; LUB

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

Różnica jest taka, że ​​jeśli popełnisz enabled= false wtedy nie można przekazać wartość textbox. Jeśli potrzebujesz przekazać wartość textbox, powinieneś użyć właściwości tylko do odczytu o wartości textbox.

0

Można dokonać tekstowym nie można edytować w ASP.NET

+0

0

za pomocą czytać tylko to daje problemów na stanowisku z powrotem po prostu ustawić tę właściwość skryptu java

onkeydown = „javascript: return false”

za pomocą tego może mieć właściwości takie jak readonly i absolutnie nie ma problemu będzie araise

Powiązane problemy