我試圖創建一個按鈕,它將使用不同形式的動作。從Edit
頁面,我希望用戶可以選擇單擊按鈕來運行Delete
操作。這樣我可以刪除對Delete
視圖的需求。HTML按鈕不能使用不同的動作
這裏是我的按鈕:
<input type="submit" id="yesBtn" value="Yes" class="btn btn-default" style="float:left; background-color:Green; color: white" />
我已經嘗試了幾件事情:
@using (Html.BeginForm("Delete", "GroupsController", routeValues: new { id = Model.GroupId }, method: FormMethod.Post)){
<input type="submit" id="yesBtn" value="Yes" class="btn btn-default" style="float:left; background-color:green; color: white" />}
這將使用表單的默認Edit
行動;與
<form action="~/Views/Groups/Delete.cshtml" method="post"></form>
包裝也不管用,我也嘗試過的onclick
事件,但沒有成功。
我認爲BeginForm由於某種原因未被識別。
這裏是我的操作代碼,我想在Model.GroupId
經過:
// POST: AspNetGroups/Delete/5
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
AspNetGroup aspNetGroup = db.AspNetGroups.Find(id);
db.AspNetGroups.Remove(aspNetGroup);
db.SaveChanges();
return RedirectToAction("Index");
}
這是我的觀點的相關部分:
@model ContactManager.Models.AspNetGroup
...
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<div class="form-horizontal">
...
<div id="myModal" class="modal">
<div class="modal-content">
<div class="modal-header">
<span class="close">×</span>
<h2>Delete Group</h2>
</div>
<div class="modal-body">
<p>You are about to delete group placeholder.</p>
<p>Are you sure you want to delete it?</p>
</div>
<div class="modal-footer">
<form action="~/Views/Groups/Delete.cshtml" method="post">
<input type="submit" id="yesBtn" value="Yes" class="btn btn-default" style="float:left; background-color:green; color: white" />
</form>
<input type="button" id="noBtn" value="No" class="btn btn-default" style="float:left; background-color:red; color: white" />
</div>
</div>
</div>
...
</div>
}
確定控制器名稱是GroupsController? '控制器'通常被省略。 – Nico
@Nico我認爲你是對的!但是它並沒有解決我的問題(更改後,'Delete'按鈕仍然使用'Edit'操作)。謝謝你的幫助。 –