2009-11-27 31 views
13

में छिपा हुआ टेक्स्ट बॉक्स बनाना I ASP.NET 3.5 और C# का उपयोग कर रहा हूं।ASP.NET

मेरे पृष्ठ पर मुझे एक टेक्स्ट बॉक्स होना चाहिए जो उपयोगकर्ता को दिखाई नहीं देनी चाहिए, लेकिन जब आप पेज स्रोत को देखते हैं, तो यह होना चाहिए, कारण, एलोक्वा नामक एक और प्रोग्राम पृष्ठ स्रोत को देखेगा और इसे उस टेक्स्ट बॉक्स का मान प्राप्त करना होगा।

उस टेक्स्ट बॉक्स का मान उस उपयोगकर्ता के आधार पर पॉप्युलेट किया जाएगा जो उपयोगकर्ता चुनता है।

इस प्रकार, मैं टेक्स्ट बॉक्स प्रॉपर्टी को Visible = False पर सेट नहीं कर सकता क्योंकि तब यह स्रोत HTML में नहीं होगा और मैं सक्षम = गलत सेट नहीं कर सकता क्योंकि मैं नहीं चाहता कि उपयोगकर्ता टेक्स्ट बॉक्स को देखना चाहें।

क्या कोई ऐसी संपत्ति है जिसका उपयोग मैं इस टेक्स्ट बॉक्स को उपयोगकर्ता को छिपाने के लिए कर सकता हूं लेकिन फिर भी पृष्ठ स्रोत में दिखाई देता है?

मेरे ASP.NET पाठ बॉक्स

<asp:TextBox ID="txtTester" runat="server"></asp:TextBox> 

उत्तर

21

आप एक छिपी हुई फ़ील्ड का उपयोग कर सकते हैं।

<asp:HiddenField id="myHiddenInput" runat="server" /> 

इसे टेक्स्टबॉक्स की तरह ही उपयोग करें।

myTextBox.Style.Add("visibility", "hidden"); 
// or : 
myTextBox.Style.Add("display", "none"); 
+3

छिपे हुए फ़ील्ड एएसपीनेट सत्यापनकर्ताओं के साथ काम नहीं करते हैं। – Nuzzolilo

0

एक छिपी हुई फ़ील्ड का प्रयोग क्यों न आप एक छिपी हुई फ़ील्ड का उपयोग कर सकते हैं? यह अधिक उपयुक्त होगा (< एएसपी: छुपा फ़ील्ड आईडी = "ब्लाह" रनैट = "सर्वर"/> यदि आप .NET नियंत्रण चाहते हैं)।

यदि ऐप यह नहीं लेगा, हालांकि आप वास्तव में केवल "शैली = 'डिस्प्ले डाल सकते हैं: कोई नहीं;' 'पृष्ठ के सामने कोड में। IntelliSense यह पसंद नहीं होगा, लेकिन यह ठीक से प्रस्तुत करना होगा (ईजी: < एएसपी: पाठ बॉक्स आईडी = "txtField" शैली = "प्रदर्शन: कोई नहीं;" runat = "सर्वर"/>)

इसके अलावा codebehind से

आप txtField.Attributes.Add ("शैली", "प्रदर्शन: कोई नहीं") कर सकते हैं;

या आप भी सिर्फ यह एक CssClass "छिपा" जो अपने सीएसएस में के रूप में परिभाषित किया गया है दे सकता है ".hidden {प्रदर्शन: कोई नहीं;}"

CSS वर्ग या सिर्फ एक छिपी हुई फ़ील्ड का उपयोग कर मेरी सिफारिशें होगा ।

+0

क्योंकि मैं ASP.NET का उपयोग कर रहा हूं, मैं एक प्रकार निर्दिष्ट नहीं कर सकता – Etienne

9

सर्वर साइड दर्शनीय संपत्ति के बजाय अदृश्य पाठ बॉक्स को यह प्रयास करें:

+0

छुपा फ़ील्ड कोडबूट में टेक्स्ट नहीं मिला/सेट कर सकता है; तो, यह – maxweber

+0

@ मैक्सवेबर जाने का तरीका था - मुझे पता है कि "कोडबूट" क्या है? – Matt

+0

और बट के लिए एक और शब्द है .... –

8

पहले सोचा:

<input type="hidden" name="blah" /> 
2

यह जो भी कारण के लिए एक पाठ बॉक्स होना चाहिए, तो बस सीएसएस के साथ इसे छिपाने:

<input type="text" name="blah" style="display:none" /> 
+0

के पीछे 'कोड' ने मेरी समस्या हल की, क्योंकि किसी कारण से, छिपे हुए क्षेत्र से पाठ पुनर्प्राप्त नहीं किया गया है। तो मुझे टेक्स्टबॉक्स को छिपाने की जरूरत है। – AdorableVB

2

सीएसएस:

.hidden-div 
{ 
    display: none; 
} 

HTML:

<div class="hidden-div"> 
    <input ... /> 
</div> 

यह होगा आपके इनपुट को छिपाने का कारण बनता है, लेकिन यह ' स्रोत कोड में दिखाई देगा।

संपादित करें: क्षमा करें, मैंने इसे गलत तरीके से पढ़ा है। मैंने सोचा कि आप एक इनपुट छिपाना चाहते हैं। लेकिन इससे कोई फर्क नहीं पड़ता, बस मूल रूप से कुछ भी इनपुट के साथ बदलें।

+3

डिस्प्ले: शायद आप जो भी चाहते हैं उससे कोई भी नहीं है। छुपा दृश्यता उनके रूप के बीच में एक अंतर छोड़ देगा। – fyjham

+1

बेवकूफ गलती, क्षमा करें। संपादित :) –

0

कैसे सीएसएस का उपयोग कर एक div पाठ बॉक्स युक्त छिपाने के लिए के बारे में:

.hidden { 
    position: absolute; 
    left: -9999px; 
} 
फिर अपने पृष्ठ के भीतर

:

<div class="hidden"> 
    <asp:TextBox ID="TextBox1" runat="server" Text="hi"></asp:TextBox> 
</div> 

आशा इस मदद करता है।

+1

यह "छुपा" की अवधारणा को याद करता है और किसी भी कोड रीडर को लगता है कि एक त्रुटि है। – Marcel

1

सर्वर पक्ष में दृश्यमान = "झूठी" सेट करके नियंत्रण प्रदान नहीं करेगा। आपको या तो asp:Hidden या INPUT type="hidden" का उपयोग करना चाहिए। अन्य विकल्प सीएसएस का उपयोग कर रहा है, display:none.