2

私はMVC3かみそりの初心者です。実行時にこのエラーが発生する理由を教えてください。

エラー: Object reference not set to an instance of an object. ActionLinkで壊れます。

HTMLコード:

@model Solution.User

@using (Html.BeginForm())
{
    @Html.TextBoxFor(model => model.Name, new {@id = "name-ref", @class = "text size-40"})
    @Html.ActionLink("Go Ahead", "Index", "Home", new {name = Model.name, @class = "button" })
}

コントローラ

[HttpPost]
public ActionResult Index(string name)
{
    return View();
}

どうもありがとう

4

1 に答える 1

3

ビューにモデルを指定していません。

ビューモデルとして機能するクラスを定義する

public class User
{
    public string Name { get; set; }
}

そして、コントローラーのアクションでは:

[HttpPost]
public ActionResult Index(User model)
{
    return View(model);
}

MVCのモデルバインダーは、パラメーターのインスタンスを自動的に作成し、値をmodelバインドします。nameUser.Name

編集あなたのビューはと呼ばれるモデルに言及していますUser。私はそれを反映するために答えを変えました。

于 2012-06-18T11:44:08.640 に答える