मैं रेजर और नेट के लिए नया हूं, मेरे पास एएसपी नेट रेजर प्रोजेक्ट पर एक पेज है जहां मैं एक फॉर्म के साथ एक मोडल पॉपअप करता हूं। फॉर्म के अंदर एक डेटपिकर है और जब पेज लोड होता है और समान रूप से इसे संपादन योग्य रखता है तो मैं सिस्टम दिनांक सेट करना चाहता हूं। मैंने पहले ही कोशिश कर ली है

  • @{ string dateNow = DateTime.Now.ToString("dd MM yyyy"); }
  • <input asp-for="intervento.Data" class="form-control" type="date" value="@dateNow" />

यह सही तिथि प्राप्त करता है लेकिन इसे प्रदर्शित नहीं कर सकता है। इसे कैसे हल किया जा सकता है?

0
elTuran 23 अक्टूबर 2020, 17:24

3 जवाब

सबसे बढ़िया उत्तर

आपकी तिथि निम्न प्रारूप yyyy-MM-dd में होनी चाहिए।

तो यह इस तरह दिखेगा:

<input type="date" value="2020-10-23">
1
yousef 23 अक्टूबर 2020, 20:10

मेरी राय में, इसके लिए एक बेहतर तरीका है:

ऐसा करने के बजाय

@{ string dateNow = DateTime.Now.ToString("dd MM yyyy"); }

कंस्ट्रक्टर का उपयोग करके डेटाटाइम का मान सेट करें और हटाएं

मान = "@ dateNow"

रेजर पेज स्वचालित रूप से उस संपत्ति मूल्य को वापस कर देगा जिसे हम कंस्ट्रक्टर में सेट करते हैं।

तो रेज़र पेज का कंस्ट्रक्टर बन जाता है:

    public DateTime Date { get; set; }
    public IndexModel(ILogger<IndexModel> logger)
    {
        _logger = logger;
        Date = DateTime.Now;
    }
-1
yousef 23 अक्टूबर 2020, 20:04

संभवतः, 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" />
0
Mike Brind 25 अक्टूबर 2020, 16:04