ボタンごとに個別のフォームを作成できます。
<ul>
<% foreach(var Movie in Model) { %>
<li>
<%: Movie.Id %>
<%: Movie.Title %>
<%: Movie.ReleaseDate %>
<%= Html.BeginForm("EditMovie", "Movies", new { id = Movie.Id }, FormMethod.Post) { %>
<input type="submit" value="edit" name="edit" />
<% } %>
<%= Html.BeginForm("DeleteMovie", "Movies", new { id = Movie.Id }, FormMethod.Post) { %>
<input type="submit" value="delete" name="delete" />
<% } %>
</li>
<% } %>
</ul>
次に、2つのそれぞれのコントローラーアクションがあります。
[HttpPost]
public ActionResult EditMovie(int id)
{
...
}
[HttpPost]
public ActionResult DeleteMovie(int id)
{
...
}
フォームを使用する代わりに、AJAXを使用できます。
<ul>
<% foreach(var Movie in Model) { %>
<li>
<%: Movie.Id %>
<%: Movie.Title %>
<%: Movie.ReleaseDate %>
<%= Ajax.ActionLink(
"edit",
"EditMovie",
"Movies",
new { id = Movie.Id },
new AjaxOptions { HttpMethod = "POST" }
) %>
<%= Ajax.ActionLink(
"delete",
"DeleteMovie",
"Movies",
new { id = Movie.Id },
new AjaxOptions { HttpMethod = "POST" }
) %>
</li>
<% } %>
</ul>
ヘルパーを使用する場合は、ページにスクリプトjquery
とスクリプトを含めることを忘れないでください。jquery.unobtrusive-ajax.js
Ajax.ActionLink