0
さらに操作のためにテーブルの結果をコントローラに戻そうとしています。コントローラに戻されると、値はnullとして表示されます。過去には、@ Html.HiddenForを使用して値を返すことができましたが、このインスタンスでは動作していないようです。私がここで間違っていることを確かめない。どんな助けでも大歓迎です。@ Html.HiddenForヌル値を返す
@model IEnumerable<Project.Models.Item>
@{
ViewBag.Title = "Welcome to The Project";
}
@using (Html.BeginForm("UpdateQuality", "Home", new { ReturnUrl = ViewBag.ReturnUrl }, FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
<div class="row">
<div class="form-group">
<table class="table table-bordered">
<tr>
<th>@Html.DisplayNameFor(m => m.Name)</th>
<th>@Html.DisplayNameFor(m => m.SellIn)</th>
<th>@Html.DisplayNameFor(m => m.Quality)</th>
</tr>
@for (int i = 0; i < Model.Count(); i++)
{
<tr>
<td>@Html.DisplayFor(m => m.ElementAt(i).Name)</td>
<td>@Html.DisplayFor(m => m.ElementAt(i).SellIn)</td>
<td>@Html.DisplayFor(m => m.ElementAt(i).Quality)</td>
@Html.HiddenFor(m => m.ElementAt(i).Name)
@Html.HiddenFor(m => m.ElementAt(i).SellIn)
@Html.HiddenFor(m => m.ElementAt(i).Quality)
</tr>
}
</table>
<div class="form-group">
<div style="margin-top: 50px">
<input type="submit" class="btn btn-primary" value="Advance Day"/>
</div>
</div>
</div>
</div>
}
ここでnullを返すコントローラがあります。
public ActionResult UpdateQuality(List<Item> Items)
{
return View("Index", (object)Items);
}
うん、それだった。いつものようにスティーブン! – snapper
こんにちはスティーブンこれは今正しく動作しています。私のテーブルデータをコントローラに送信し、そこで簡単な数学が実行され、更新されたデータがビューに返され、テーブルに正しく表示されます。しかし、再度submitをクリックすると、更新されたデータではなく元のテーブルのデータが返されます。何か不足していますか?あなたがより多くの情報を必要とするかどうかを教えてください。 – snapper
カスタムテンプレートを使用している場合は、コレクションを繰り返し処理する方法について少し混乱します.m => mは親オブジェクトをテンプレートに送信するだけです。 @MattThrower。 –