なぜ@Html.LabelFor(model => model.data, ((string)ViewBag.id))
public ActionResult Index(Data item)
に戻る100
の代わりにnullが返されます。これを修正するには?公共のActionResultインデックス(データ項目)でASP.NET MVC ViewBag return null
public ActionResult Index()
{
ViewBag.id = "100";
return View();
}
[HttpPost]
public ActionResult Index(Data item)
{
return View();
}
Index.cshtml
@model TestForm.Models.Data
@{
ViewBag.Title = "Index";
}
<h2>Index</h2>
@using(@Html.BeginForm())
{
@Html.LabelFor(model => model.data, ((string)ViewBag.id))
<input type="submit"/>
}
'LabelFor()'はフォームコントロールを生成しません。あなたがしようとしていることは非常にわかりませんが、モデルをビューに渡す前に 'model.data = 100;'の値をコントローラに設定し、ビューで '@ Html.TextBoxFor(m = > m.data) '(あなたの' ViewBag'を削除してください) –
@StephenMuecke私はそれが答えには十分だと思います。 –
viewbagはすでに@ Html.LabelFor(model => model.data、ViewBag.id)の文字列であるため、文字列をunboxすることにしました。 –