我是MVC的新手,但仍然没有办法做到这一点。
在视图中我有这个克隆按钮:
<a href="@Url.Action("Clone", "Game", new { pModelId = Model.Id })" class="btn btn-default btn-xs">
<i class="fa fa-plus"></i>Clone Game</a>
在我的控制器中:
[HttpPost]
public ActionResult Clone(int pGameId)
{
int lClonedGameId = mGameRepository.CloneGame(pGameId);
return RedirectToAction("Show", new { id = lClonedGameId, message = "Your game was cloned succesfully" });
}
由于[HttpPost]我得到了404,但我不想让它[HttpGet]因为它写入数据库。有没有办法让该按钮转到没有BeginForm的HttpPost方法或类似的东西?
答案 0 :(得分:2)
如果这只是一个链接而不是按钮来提交表单的问题,我建议您在按下链接时添加表单并使用javascript提交表单(下面的代码假设您使用的是jQuery):
@using (Html.BeginForm("Clone", "Game", FormMethod.Post, new {id = "form1"}))
{
//Your other elements go here
<a href="#" class="cloneGameSubmit">CloneGame</a>
}
勾住剧本:
$(function() {
$("a.cloneGameSubmit").click(function () {
$("#form1").submit();
});
});