MVCの美しさは、これをいくつかの方法で解決できるということです。特定のシナリオに最適なソリューションを見つけるだけで済みます。隠れたフィールドは確かに機能しますが、必ずしも最も理想的なソリューションではありません。
コントローラ
public class ExampleController
{
static Dictionary<int, string> sampleViewModel = new Dictionary<int, string>
{
{1, "Example Item 1"},
{2, "Example Item 2"},
{3, "Example Item 3"},
};
public ActionResult Index()
{
return View(sampleViewModel);
}
[HttpPost]
public ActionResult Delete(int id)
{
sampleViewModel.Remove(id);
return RedirectToAction("Index");
}
}
ビュー
@model System.Collections.Generic.Dictionary<int, string>
<html>
<head>
...
</head>
<body>
<table>
<thead>
<tr>
<th>Item</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach (var item in Model) {
<tr>
<td>@item.Key</td>
<td>
@using (Html.BeginForm("Delete", new { id = item.Value })) {
<input type="submit" value="Delete" />
}
</td>
</tr>
}
</tbody>
</table>
</body>
</html>
私はすぐに一緒に任意の構文エラーがないので、私の謝罪これを投げた:ここでは、シナリオを削除する簡単な例です。お役に立てれば!
ありがとうございました。 1つの追加の質問、もしあれば。私が編集しようとしている場合、更新されたモデルデータにアクセスする方法はありますか?私はこれのための例を見つける時間の地獄を持っています。 –
絶対に。あなたは次のいずれかを行うことができます: @using(Html.BeginForm()){ –
私はそれを試みています。しかし、私はまだ提出されているモデルデータにアクセスする方法が不明です。 –