2015-11-15 3 views
16

सर्वर की ओर से, मैंने एक नया बूलियन मान परिभाषित किया और इसे <input> टैग में सेट किया, लेकिन ब्राउजर इसे पहचान नहीं पाया।क्यों नहीं <इनपुट प्रकार = "छुपा"> सर्वर पक्ष से एक बूलियन मान स्वीकार कर सकते हैं?

@{ var isAuthor = false; } 
<input type="hidden" value="@isAuthor" /> 

संकलन के बाद, परिणाम था: <input type="hidden"></input>

लेकिन, जब मैं एक string को isAuthor परिवर्तित करने की कोशिश की, यह काम करना चाहिए:

@{ var isAuthor = false; } 
<input type="hidden" value="@isAuthor.ToString()" /> 

परिणाम: <input type="hidden" value="false"></input>

क्यों ? क्या मैं कुछ भुल गया?

+1

में जिम्मेदार बताते हैं _Did आप something_ याद आती है एक बेहतरीन परिचय पढ़ सकते हैं। यदि किसी विशेषता का मान 'शून्य' या 'झूठा' है, तो इसे प्रस्तुत नहीं किया गया - यदि आपने 'name = "@ isAuthor" जोड़ा है, तो इसे –

+0

प्रदान नहीं किया जाएगा आप' @ HTML.Hidden() 'का भी उपयोग कर सकते हैं, यदि यह गलत है तो यह मूल्य छुपाएगा नहीं। –

उत्तर

19

यह एक रेजर व्यू इंजन सुविधा है जिसे सशर्त विशेषताओं कहा जाता है। विचार परिदृश्य को सरल बनाना है, जहां आप चाहते हैं या मूल्य के आधार पर विशेषता प्रस्तुत करना नहीं चाहते हैं। पहले आपको if कथन लिखना था या इसे संभालने के लिए टर्नरी ऑपरेटर का उपयोग करना था, लेकिन सशर्त विशेषताओं के साथ यह सब बहुत सरल है।

सशर्त विशेषताओं के साथ, यदि किसी विशेषता का मान null या false है, तो विशेषता प्रदान नहीं की जाती है। यदि आप मान false होना चाहते हैं तो आपको इसे प्रश्न में डालने की तरह स्ट्रिंग करने की आवश्यकता है। अभी जिस तरह उस्तरा इंजन काम करता है नहीं। इसके -

आप सशर्त रेजर को यह blog article

+0

धन्यवाद। यह मदद है :) –

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