2012-07-02 16 views
5

में संपादन योग्य नहीं होने के कारण टेक्स्टबॉक्स को कैसे बनाया जाए, मैंने एक एएसपी वेब एप्लिकेशन बनाया है, उस एप्लिकेशन में एक फॉर्म को टेक्स्टबॉक्स फ़ील्ड में दिनांक मान अपडेट करना होगा, मैंने उस टेक्स्टबॉक्स के पास कैलेंडर बटन डाला है। यह उस टेक्स्टबॉक्स फ़ील्ड में दिनांक अपडेट कर सकता है लेकिन इसका संपादन योग्य है। मैं केवल कैलेंडर मूल्य का उपयोग करके दिनांक मूल्य अपडेट करना चाहता हूं, मैंने केवल पढ़ने योग्य संपत्ति का उपयोग किया लेकिन खाली मूल्य वापस कर दिया ताकि काम न हो।asp.net (C#)

उत्तर

9

एएसपी.NET सर्वर पक्ष readonly के बजाय क्लाइंट साइड एचटीएमएल readonly विशेषता का प्रयास करें।

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

MSDN से,

ReadOnly संपत्ति सही पर सेट के साथ किसी पाठ बॉक्स नियंत्रण का पाठ मूल्य सर्वर जब एक पोस्टबैक होता है करने के लिए भेज दिया जाता है, लेकिन सर्वर ने पढ़ा के लिए कोई संसाधन करता है केवल पाठ बॉक्स। यह किसी दुर्भावनापूर्ण उपयोगकर्ता को केवल टेक्स्ट मान को बदलने से रोकता है जो केवल पढ़ने योग्य है। टेक्स्ट प्रॉपर्टी का मान सर्वर-साइड कोड द्वारा संशोधित किए जाने तक पोस्टबैक के बीच दृश्य स्थिति में संरक्षित है।

यही कारण है कि सर्वर पक्ष readonly विशेषता वाले टेक्स्टबॉक्स में पोस्टबैक में शून्य मान है।

+0

धन्यवाद। आप सबसे अच्छे – soundy

0

तुम सिर्फ निम्नलिखित कोड लिखने फ़ाइल के पीछे अपने कोड के पेज लोड घटना पर इस

TextBox1.Enabled = false; 
1

उपयोग कर सकते हैं:

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

आप भी संपत्ति

Enabled="false" 
उपयोग करके एक ही कर सकते हैं

अपने एएसपीएक्स पेज पर लेकिन फिर आप पेज के पीछे कोड में अपना मूल्य एक्सेस नहीं कर पाएंगे।

+0

"yourTextBoxName.Attributes.Add (" readonly "," readonly ") हैं;" बेहतर है क्योंकि यह आपके टेक्स्टबॉक्स को आकार बदलने योग्य और "सक्षम =" गलत "" अनुमति देता है। – SubqueryCrunch

3

आप उपयोग कर सकते हैं या तो TextBox1.Enabled = false; या

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

अंतर है कि यदि आप enabled= false कर तो आप नहीं कर सकते textbox का मान पास है। यदि आपको textbox के मान को पारित करने की आवश्यकता है तो आपको textbox की केवल-पढ़ने वाली संपत्ति का उपयोग करना चाहिए।

0

आप asp.net में पाठ बॉक्स को भी संपादित कर सकते हैं

+0

<एएसपी: टेक्स्टबॉक्स आईडी = "txtBox1" runat = "server" ReadOnly = "true">

0

केवल पढ़ने के लिए उपयोग कर इसे पोस्ट पर समस्याओं दे देंगे वापस सिर्फ सेट इस जावा स्क्रिप्ट संपत्ति

onkeydown = "javascript: झूठी वापसी" द्वारा

इसका उपयोग करके आपके पास रीडोनली जैसी संपत्तियां हो सकती हैं और पूरी तरह से कोई समस्या नहीं होगी

संबंधित मुद्दे