1

以下で説明する基本的なasp.netmvcプロジェクト構成を試していました。

最初に送信する前は、期待どおりの結果が写真に残されます。送信後、textbox(@Html.TextBoxFor(model => model.Name))とtext(@Model.Name)は、予期せず、写真の右側に表示されているように異なる値を示します。なんでそうなの?モデルは一意ですが、異なる値を示します。

ここに画像の説明を入力してください

モデル:

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

意見:

@model deneme.Models.Personnel

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>


@using (Html.BeginForm("Index", "Home"))
{
    @Html.TextBoxFor(model => model.Name)

    <br/>
    <br/>

    @Model.Name

    <br/>
    <br/>

    <input type="submit" value="submit" />
}

コントローラ:

public ActionResult Index(Personnel personnel)
{
     if (string.IsNullOrEmpty(personnel.Name))
     {
         personnel.Name = "Ahmet";
     }
     else
     {
         personnel.Name = personnel.Name + "server";
     }

     return View(personnel);
}
4

1 に答える 1

1

編集:私の前の答えはあなたの質問に答えませんでした。

コントローラアクションに追加ModelState.Clear()すると、希望どおりに機能します。

public ActionResult Index(Personnel personnel)
{
     if (string.IsNullOrEmpty(personnel.Name))
     {
         personnel.Name = "Ahmet";
     }
     else
     {
         personnel.Name = personnel.Name + "server";
     }

     ModelState.Clear();
     return View(personnel);
}
于 2012-07-25T00:03:31.033 に答える