[Asp.net-mvc] नल की बजाय टेक्स्ट बॉक्स रिक्त स्ट्रिंग का डिफ़ॉल्ट मान कैसे सेट करें


Answers

ईमानदार होने के लिए, मैं कहूंगा कि आपकी कोडिंग पद्धति पुरानी और दोषपूर्ण है। आपको सभी संभावनाओं को संभालना चाहिए, यह मुश्किल नहीं है। यह वास्तव में क्या string.IsNullOrEmpty(value); के लिए है।

मैं अपना सत्यापन तर्क अनुमान लगा रहा हूं:

if (value == string.Empty) { isValid = false; } 

तो यह शून्य मानों को संभाल नहीं करता है आपको उस चेक को बदलना चाहिए ताकि वह नल के लिए भी जांच कर सके।

string value1 = null;
string value2 = string.Empty;

string.IsNullOrEmpty(value1); // true
string.IsNullOrEmpty(value2); // true
Question

मैं पुराना हो सकता है, लेकिन एक सिद्धांत जो मैं का पालन करता हूं वह जितना संभव हो उतना नल से बच जाता है।

हालांकि, जो मैंने पाया है, वह है कि एक दृढ़ता से टाइप किए गए दृश्य के लिए, जिसमें उपयोगकर्ता किसी ऑब्जेक्ट के गुणों को सहेजना चाहता है, यदि कुछ फ़ील्ड दर्ज नहीं की जाती हैं तो उन्हें शून्य के रूप में निर्दिष्ट किया जाता है

तब जब आप परिवर्तनों को सहेजने का प्रयास करते हैं, तो सत्यापन विफल हो जाता है।

इसलिए हर प्रॉपर्टी को रिक्त स्ट्रिंग में सेट करने के बजाय, मैं एक टेक्स्ट बॉक्स को स्वचालित रूप से एक रिक्त स्ट्रिंग के बजाय किसी रिक्त स्थान पर कैसे सेट कर सकता हूं?




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

public static string GetValueOrDefault(this string str)
        {
            return str ?? String.Empty;
        }

तो आप इसका उपयोग तब कर सकते हैं जब आप यह सुनिश्चित करना चाहते हैं कि किसी भी तार खाली हो गए हैं

yourString1.GetValueOrDefault();
yourString2.GetValueOrDefault();