it-swarm.com.de

MVC-Rasierer - Standardwert als aktuelles Datum für das Datumsfeld des Textfeldtyps

Ich habe einen Textbox mit Typ als date. Ich versuche, den Standardwert von textbox auf das aktuelle Datum einzustellen.

@Html.TextBoxFor(x => x.Date, new { @id = "Date", @type = "date", 
                                    @value = DateTime.Now.ToShortDateString() })

In der obigen Zeile wird kein Standardwert festgelegt. Wie wird der Standardwert als aktuelles Datum festgelegt?

12
Anup

Wie Stephen Muecke sagte, müssen Sie den Wert der Eigenschaft für das Modell festlegen.

// in controller method that returns the view.
MyModel model = new MyModel();
model.Date = DateTime.Today;

return View(model);

Und dein Rasiermesser wäre:

@Html.TextBoxFor(x => x.Date, "{0:yyyy-MM-dd}", new { @class = "form-control", @type = "date"})

Beachten Sie, dass die Eigenschaften id und name bei Verwendung einer For-Methode, z. B. @Html.TextBoxFor(), automatisch dem Eigenschaftennamen zugewiesen werden müssen, sodass Sie das Attribut id nicht explizit festlegen müssen.

26
ps2goat

Es ist besser in Sicht zu verwalten 

@Html.TextBoxFor(x=> x.Date, new { @Value = @DateTime.Now.ToShortDateString() })
26
renjith

Eine andere Lösung:

 @Html.TextBoxFor(model=>model.CreatedOn, new{@value= System.DateTime.Now})

Es funktioniert an meinem Ende, sicher funktioniert es auch bei Ihnen.

0
user6243946
 $(document).ready(function () {
        var dateNewFormat, onlyDate, today = new Date();

        dateNewFormat = today.getFullYear() + '-';
        if (today.getMonth().length == 2) {

            dateNewFormat += (today.getMonth() + 1);
        }
        else {
            dateNewFormat += '0' + (today.getMonth() + 1);
        }

        onlyDate = today.getDate();
        if (onlyDate.toString().length == 2) {

            dateNewFormat += "-" + onlyDate;
        }
        else {
            dateNewFormat += '-0' + onlyDate;
        }

        $('#mydate').val(dateNewFormat);
    });
0
Radha Anil K