2

MVC 3.0 と Razor を使用して、非常に基本的な MVC プロジェクトを試しています。このリンクでチュロリアルを参照してください。

「Contact」というモデル クラスを使用して、Contacts を編集するための厳密に型指定されたビューを作成しました。

namespace Practice.Models
{
    public class Contact
    {
        public string firstName;
        public string lastName;
        public string mobileNumber;
    }
}

「インデックス」メソッドは、リスト タイプ ビューを使用してすべての連絡先を表示します。連絡先に対して [編集] リンクをクリックすると、編集ビューを使用してテキスト ボックスに連絡先の詳細が表示されます。

ただし、編集フォームを送信すると、コントローラー アクション メソッドでモデル値が取得されません。プロパティごとに null が表示されます。このような単純な例で、ここで何が欠けているのでしょうか?

DirectoryController

[HttpPost]
public ViewResult Edit(Contact model)
{
    contactRepository.Update(model);
    return View("Details", model);
}

意見

@model Practice.Models.Contact
@{
    ViewBag.Title = "Edit";
}

<h2>Edit</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("Edit","Directory"))
{
@Html.ValidationSummary(true)
<fieldset>
    <legend>Contact</legend>
    @Html.TextBoxFor(m => m.firstName)
    @Html.TextBoxFor(m => m.lastName)
    @Html.TextBoxFor(m => m.mobileNumber)
    <p>
        <input type="submit" value="Save" />
    </p>
</fieldset>
}
<div>
    @Html.ActionLink("Back to List", "Index")
</div>

デバッグポイント

4

1 に答える 1