Friday 15 June 2012

c# - RadioButton comes checked automatically -


मैंने इस तरह रेडियोबुटन इस्तेमाल किया

  @ html.RadioButtonFor (m = & gt; m सामग्री, मॉडल। सामग्री, नया {@name = "rb", @ वर्ग = "उत्तर-रेडियो", @id = "answer-" + मॉडल। काउंटर, @ जाँच = "गलत"}) @ एचटीएमएल। लेबल (मॉडल । @ {@for = "answer-" + Model.Counter}) @ Html.HiddenFor (m = & gt; m.Content)   

लेकिन यह रेडियोबूटन "चेक" आता है। मैं इसे कैसे अक्षम कर सकता हूं?

क्या आप वाकई एक रेडियो बटन चाहते हैं? ऐसा लगता है कि आप चेकबॉक्स के बाद भी हो सकते हैं ...

बूलियन के लिए, मैं एक ऐसा 2 रेडबूटन्स स्थापित करूँगा जैसे:

  @ html.RadioButtonFor (m = & gt ; M.Content, true, new {@id = "rb1"}) @ एचटीएमएल.राडियोबुटटनफोर (एम = & gt; एम। सामग्री, गलत, नया {@id = "rb2"})   

एचटीएमएल सहायक पता लगाएगा कि किसको चेक करना है यदि Model.Content अन्य प्रकार का है, तो रेडियबूटोन और एमवीसी के लिए अलग-अलग मानों का उपयोग करें, जो अब भी पता होगा कि कौन से एक को जांचना है।

संपादित करें:

असल में , यह उस से भी सरल है यदि आप एचटीएमएल सहायक रेडियोबूटनफ़ोअर विधि का उपयोग करते हैं, तो यह रेडियोबूटटन को जांचता है, अगर उसे मॉडल संपत्ति से मेल खाने वाला मान मिलता है। तो आपने अपने रेडियोबटन को हमेशा के रूप में अपनी आदर्श संपत्ति के समान मूल्य के रूप में निर्दिष्ट किया है, इसलिए यह हमेशा चेक किया जाएगा (और यह वह मूल्य है जिसे पोस्ट में पोस्ट किया जाएगा फार्म)

अतः, यदि आप झूठी करने के लिए डिफ़ॉल्ट के लिए एक bool चाहते हैं, और केवल अगर आप यह कर सकते हैं, तो सच ही लौटाएंगे:

  @ html.RadioButtonFor (m = & Gt; m.Content, true, new {@id = "rb1"})   

जहां Content मूलतः false पर सेट है

आप इसे अन्य मूल्य प्रकारों के साथ भी कर सकते हैं। जैसे अगर सामग्री एक स्ट्रिंग थी, जिसे शुरू में रिक्त करने के लिए सेट किया गया था, तो यह "रेडियोबूटन चेक्ड" को केवल तभी पोस्ट कर देगा जब रेडियो बटन की जांच होनी चाहिए। नल अन्यथा:

  @ html.RadioButtonFor (m = & gt; m.Content, "RadioButtonChecked", नया {@id = "rb1"})    

No comments:

Post a Comment