ここで非常に些細なことを見逃していると思いますが、それを見つけていません。Post
Model プロパティを変更するメソッドがあります。次に、そのモデル プロパティに新しいプロパティ値を反映させたいと考えています。だからここに作品があります:
コントローラ:
[HttpPost]
public ActionResult Index(HomeModel model)
{
ModelState.Clear(); //Didn't help
model.MyValue = "Hello this is a different value";
return View(model);
}
モデル:
public class HomeModel
{
[Display(Name = "My Message")]
public string MyValue { get; set; }
}
意見:
@model MyApp.Models.HomeModel
@{
ViewBag.Title = "My MVC App";
Layout = "~/Views/Shared/_Layout.cshtml";
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title></title>
</head>
<body>
<div>
@using (Html.BeginForm("Index", "Home"))
{
<h5>Hello</h5>
<input id="SendMessage" type="submit" value="Send Message"/>
@Html.LabelFor(m => m.MyValue)
}
</div>
</body>
</html>
コントローラーをデバッグすると、更新されたモデルが表示されますが、提供した値とは対照的に、LabelFor
常に属性があります。このラベルが更新されていないということで、何が欠けていますか?Display
"Hello this is a different value"