1

私は以前にこの問題を抱えていて、それは私の地獄を悩ませていますが、私は一生、問題が何であったかを思い出せません。

コントローラーを持っている...

public ActionResult SubmitApplication(ApplicationModel model)
{
   return View("Index", model);
}

そして景色

@model ApplicationModel 
@using (Html.BeginRouteForm(null, null, FormMethod.Post, new { action = "/apply/SubmitApplication" }))

    @Html.TextBoxFor(model => model.Email)

    <input type="submit" text="submit"/>

}

アクションメソッドにブレークを設定すると、入力された電子メールがアクションメソッドに問題なく渡されます。しかし.....何が起こっても、コントローラーが電子メールをある時点で消去すると、ページに配信されると空の電子メールボックスが表示されます。しかし、ユーザーがすべての情報を再度入力する必要がないように、それを保存したいと考えています。ここで何が欠けていますか?

ありがとう

編集:

申し訳ありませんが、私は応答を隠していた不完全な透かしツールを持っていましたが、まだ奇妙な問題があります.....私がそうすると....

[HttpPost]
public ActionResult Apply(ApplicationModel model)
{
    return View("Index",new ApplicationModel(){FullName = "newValue"});

}

ページで「newValue」を取得する代わりに、元の投稿された値を取得します。誰でもこれを説明できますか?モデルの状態と関係がありますか?

4

1 に答える 1

1

ビュー ヘルパーは、モデルの状態に一致するアイテムがあるかどうかを確認し、存在する場合はこの値を使用します。この値は、ほとんどの場合、ユーザーが投稿する前に入力した値です。渡されたモデルをビュー ヘルパーに強制的に使用させたい場合は、モデルの状態をクリアする必要があります。

于 2013-09-02T10:15:30.977 に答える