ডেটা টীকা সহ ডেটটাইমের ফর্ম্যাট বরাদ্দ করবেন?


100

আমার ভিউ মডেলে এই বৈশিষ্ট্যটি রয়েছে:

[DataType(DataType.DateTime)]
public DateTime? StartDate { get; set; }

আমি যদি তারিখটি প্রদর্শন করতে বা তারিখটির সাথে একটি পাঠ্যবাক্স তৈরি করতে চাই তবে আমার কাছে এগুলি রয়েছে:

<%: Model.StartDate %>

<%: Html.TextBoxFor(m => m.StartDate) %>

তারিখটি যখনই প্রদর্শিত হয়, এটি প্রদর্শিত হয়: 01/01/2011 12:00:00 এএম

তবে আমি কেবল 01/01/2011 প্রদর্শন করতে চাই

ডেটা টীকা সহ ডিসপ্লে ফর্ম্যাট প্রয়োগ করার কোনও উপায় আছে কি? আমি যেখানেই তারিখ প্রদর্শন করি সেখানে প্রতিবার যেতে চাই না এবং এটির ফর্ম্যাট করতে কিছু কোড যুক্ত করতে চাই।


উত্তর:


154

এটি দিয়ে ট্যাগ করার চেষ্টা করুন:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]

এটি চেষ্টা করেই, এটি এখনও পাঠ্যবক্সের সময় প্রদর্শন করে এবং যখন এটি পৃষ্ঠায় প্রদর্শিত হবে।
স্টিভেন

4
@ স্টিভেন: আপনি [DataType(DataType.DateTime)]যদি ইতিমধ্যে না পেয়ে থাকেন তবে আপনি কি অপসারণের চেষ্টা করতে পারেন?
ডেভিড ফক্স

8
DisplayFormatশুধুমাত্র EditorForএবং DisplayForসাহায্যকারীদের সাথে কাজ করে ।
Ε Г И І И О

4
দুর্দান্ত উত্তর - আমি "অ্যাপ্লিকেশন ফর্ম্যাটআইএনএডিটমোড" পারমটি মিস করছি।
CodeHxr

4
আমি এইচটিএমএল.টেক্সটবক্সফোর্মে ফর্ম্যাট প্যারামিটার দ্বারা এটি সমাধান করতে সক্ষম হয়েছি। এটিকে সেট করে @Html.TextBoxFor(model => model.YOUR_DATE, "{0:MM/dd/yyyy}")আমি প্রদর্শনের ঠিক তারিখটি পেতে সক্ষম হয়েছি। এটি এখানে [ stackoverflow.com/a/14529347/2938775] পাওয়া গেছে ।
ক্যাফিনিয়াস

45

আপনি কি এই চেষ্টা করেছেন?

[DataType(DataType.Date)]

4
এটি ব্রাউজার সমর্থন করে যদি এইচটিএমএল 5 তারিখ নির্বাচক সমর্থনও সক্ষম করে।
অ্যারোনএলএস

24

এমভিসি 4 এ আপনি সহজেই এটি ব্যবহার করে অনুসরণ করতে পারেন TextBoxFor..

@Html.TextBoxFor(m => m.StartDate, "{0:MM/dd/yyyy}", new { @class = "form-control default-date-picker" })

সুতরাং, আপনাকে মডেল বা ভিউ মডেল শ্রেণিতে কোনও ডেটা টিকা ব্যবহার করার দরকার নেই


হ্যাঁ, সেই ডেটাঅনোটেশনগুলি এডিটর ফর হেল্পারদের জন্য দুর্দান্ত কাজ করে, তবে, যখন একটি আইইনুমেবল (অফ অটিটি) দিয়ে একটি কাস্টম গ্রিড রেন্ডার করার সময় আপনাকে। টেক্সটবক্সফোর ব্যবহার করতে হবে এবং এটি আমার সমস্যা ছিল। ধন্যবাদ
bkwdesign

22

যদি আপনার ডেটা ক্ষেত্রটি ইতিমধ্যে একটি ডেটটাইম ডেটাটাইপ হয়, আপনার [DataType(DataType.Date)]টীকাটি ব্যবহারের প্রয়োজন হবে না ; শুধু ব্যবহার করুন:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:MM/dd/yyyy}")]

jQuery এ, আপনার ক্যালেন্ডারের জন্য ডেটপিকার ব্যবহার করুন

    $(document).ready(function () {
        $('#StartDate').datepicker();
    });

আপনার এইচটিএমএলে, সহায়ক ব্যবহার করুন EditorFor:

    @Html.EditorFor(model => model.StartDate)

"যদি আপনার ডেটা ক্ষেত্রটি ইতিমধ্যে একটি ডেটটাইম ডেটা টাইপ হয় তবে আপনাকে [DataType(DataType.Date)]" => ব্যবহারের দরকার নেই
হাসান তারেক

তবে ওয়েব এপিআই-এর জন্য, ডিসপ্লে ফর্ম্যাটটি কার্যকর হচ্ছে না DataFormatString = "{0:MM/dd/yyyy}"(400 জনের অনুরোধের {"dob":"31/12/1990"}
হাসান তারেক

18

ডেটাঅনোটেশন প্রয়োগ করুন:

[DisplayFormat(DataFormatString = "{0:MMM dd, yyyy}")]

10

এটি ব্যবহার করুন, তবে এটি একটি সম্পূর্ণ সমাধান:

[DataType(DataType.Date)]
[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]


4

মন্তব্য করার পরে

          // [DataType(DataType.DateTime)] 

ডেটা টিকা টীকাটি ব্যবহার করুন:

[DisplayFormat(ApplyFormatInEditMode = true, DataFormatString = "{0:dd/MM/yyyy}")]

নিম্নলিখিত লিঙ্কের স্টেপ -7 আপনাকে সাহায্য করতে পারে ...

http://ilyasmamunbd.blogspot.com/2014/12/jquery-datepicker-in-aspnet-mvc-5.html



0

মডেল তৈরির সময় নীচে কোড ব্যবহার করে আপনার সম্পত্তি সেট করুন আমার মনে হয় আপনার সমস্যাটি সমাধান হয়ে যাবে .. এবং সময় ডাটাবেসে উপস্থিত হবে না ou আপনার কোনও টিকা যুক্ত করার দরকার নেই।

private DateTime? dob;
        public DateTime? DOB
        {
            get
            {
                if (dob != null)
                {
                    return dob.Value.Date;
                }
                else
                {
                    return null;
                }

            }
            set { dob = value; }
        }
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.