0

これは、ASP.NET MVC3 の Create.cshtml のコード スニペットです。DateAdded を DateTimeNow として保存する方法がわかりません。CRUDE を使用して新しいレコードを作成します。以下のコードからテキストボックスとラベルを表示せずに、以下のコードを削除して DateTimeNow (システム時間) に置き換えようとしました。

<div class="editor-label">
    @Html.LabelFor(model => model.DateAdded)
</div>
<div class="editor-field">
    @Html.EditorFor(model => model.DateAdded)
    @Html.ValidationMessageFor(model => model.DateAdded)
</div>

これがCreate.cshtmlの私のスニペットです

@model PhoneBook.Models.Contact

@{
    ViewBag.Title = "Create";
}

<h2>Create</h2>

<script src="@Url.Content("~/Scripts/jquery.validate.min.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/jquery.validate.unobtrusive.min.js")" type="text/javascript"></script>

@using (Html.BeginForm()) {
    @Html.ValidationSummary(true)
<fieldset>
    <legend>Contact</legend>
    <div class="editor-label">
        @Html.LabelFor(model => model.DateAdded)
    </div>
    <div class="editor-field">
        @Html.EditorFor(model => model.DateAdded)
        @Html.ValidationMessageFor(model => model.DateAdded)
    </div>

  <p>
        <input type="submit" value="Create" />
    </p>
</fieldset>
}

<div>
    @Html.ActionLink("Back to List", "Index")
</div>
4

1 に答える 1

3

DateTime.Nowコントローラで値を指定する必要があります。

[HttpPost]
public ActionResult Foo(Contact model)
{
    model.DateAdded = DateTime.Now;
    ...
    ...
}

または、レンダリング時に日時をページに表示する場合は、次のようにします。

[HttpGet]
public ActionResult Foo()
{
    Contact model = new Contact{ DateAdded = DateTime.Now};

    return View(model);
}
于 2012-05-18T09:23:03.557 に答える