मैं रेजर और नेट के लिए नया हूं, मेरे पास एएसपी नेट रेजर प्रोजेक्ट पर एक पेज है जहां मैं एक फॉर्म के साथ एक मोडल पॉपअप करता हूं। फॉर्म के अंदर एक डेटपिकर है और जब पेज लोड होता है और समान रूप से इसे संपादन योग्य रखता है तो मैं सिस्टम दिनांक सेट करना चाहता हूं। मैंने पहले ही कोशिश कर ली है
@{ string dateNow = DateTime.Now.ToString("dd MM yyyy"); }
<input asp-for="intervento.Data" class="form-control" type="date" value="@dateNow" />
यह सही तिथि प्राप्त करता है लेकिन इसे प्रदर्शित नहीं कर सकता है। इसे कैसे हल किया जा सकता है?
3 जवाब
आपकी तिथि निम्न प्रारूप yyyy-MM-dd
में होनी चाहिए।
तो यह इस तरह दिखेगा:
<input type="date" value="2020-10-23">
मेरी राय में, इसके लिए एक बेहतर तरीका है:
ऐसा करने के बजाय
@{ string dateNow = DateTime.Now.ToString("dd MM yyyy"); }
कंस्ट्रक्टर का उपयोग करके डेटाटाइम का मान सेट करें और हटाएं
मान = "@ dateNow"
रेजर पेज स्वचालित रूप से उस संपत्ति मूल्य को वापस कर देगा जिसे हम कंस्ट्रक्टर में सेट करते हैं।
तो रेज़र पेज का कंस्ट्रक्टर बन जाता है:
public DateTime Date { get; set; }
public IndexModel(ILogger<IndexModel> logger)
{
_logger = logger;
Date = DateTime.Now;
}
संभवतः, Intervento.Data
आपके पेजमॉडल की एक DateTime
संपत्ति है? यदि ऐसा है, तो आपको यह निर्दिष्ट करने के लिए एक DataType
विशेषता जोड़नी चाहिए कि यह एक तिथि का प्रतिनिधित्व करती है, समय नहीं:
[DataType(DataType.Date)]
public DateTime Data { get; set; }
फिर आपको इनपुट पर type
निर्दिष्ट करने की आवश्यकता नहीं है। टैग सहायक विशेषता के आधार पर सही मान उत्पन्न करेगा। साथ ही, अगर आप प्रॉपर्टी पर डिफ़ॉल्ट मान सेट करते हैं:
[DataType(DataType.Date)]
public DateTime Data { get; set; } = DateTime.Now;
आपको इनपुट का मान भी सेट करने की आवश्यकता नहीं होगी। ASP.NET एक ISO 8601 प्रारूप में मान को सही ढंग से स्वरूपित करने का ध्यान रखेगा, जिसके साथ इनपुट काम कर सकता है। तो निम्नलिखित पर्याप्त होगा:
<input asp-for="intervento.Data" class="form-control" />
संबंधित सवाल
नए सवाल
asp.net-core
ASP.NET Core वेब और क्लाउड एप्लिकेशन के निर्माण के लिए एक दुबला, कंपोज़ेबल और क्रॉस-प्लेटफ़ॉर्म फ्रेमवर्क है। यह GitHub पर पूरी तरह से खुला स्रोत है। ASP.NET Core एप्स को पूर्ण .NET फ्रेमवर्क या छोटे .NET कोर के साथ विंडोज पर चलाया जा सकता है, या Linux और macOS पर .NET कोर और मोनो के साथ चलाया जा सकता है।