यदि मैं अपनी टोपी को रिंग में फेंक सकता हूं, तो मुझे लगता है कि रेडियो बटन की कार्यक्षमता का पुन: उपयोग करने के लिए मौजूदा उत्तरों की तुलना में एक क्लीनर तरीका है।
मान लें कि आपके ViewModel में निम्नलिखित संपत्ति है :
Public Class ViewModel
<Display(Name:="Do you like Cats?")>
Public Property LikesCats As Boolean
End Class
आप पुन: प्रयोज्य संपादक टेम्पलेट के माध्यम से उस संपत्ति को उजागर कर सकते हैं :
सबसे पहले, फ़ाइल बनाएँ Views/Shared/EditorTemplates/YesNoRadio.vbhtml
इसके बाद YesNoRadio.vbhtml पर निम्न कोड जोड़ें :
@ModelType Boolean?
<fieldset>
<legend>
@Html.LabelFor(Function(model) model)
</legend>
<label>
@Html.RadioButtonFor(Function(model) model, True) Yes
</label>
<label>
@Html.RadioButtonFor(Function(model) model, False) No
</label>
</fieldset>
आप अपने व्यू में टेम्प्लेट नाम को मैन्युअल रूप से निर्दिष्ट करके संपत्ति के लिए संपादक को कॉल कर सकते हैं :
@Html.EditorFor(Function(model) model.LikesCats, "YesNoRadio")
पेशेवरों:
- पीछे कोड में तार जोड़ने के बजाय एक HTML संपादक में HTML लिखने के लिए।
- DisplayName DataAnnotation को सुरक्षित रखता है
- रेडियो बटन को टॉगल करने के लिए लेबल पर क्लिक की अनुमति देता है
- फॉर्म (1 लाइन) में बनाए रखने के लिए कम से कम संभव कोड। यदि यह जिस तरह से चल रहा है, उसके साथ कुछ गलत है, तो इसे टेम्पलेट के साथ उठाएं।