【发布时间】:2017-11-30 00:41:30
【问题描述】:
我正在尝试创建一个将使用不同形式的操作的按钮。在Edit 页面中,我希望用户可以选择单击按钮来运行Delete 操作。这样我就可以消除对Delete 视图的需求。
这是我的按钮:
<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 吗? 'controller' 通常被省略。
-
@Nico 我认为你是对的!但它并没有解决我的问题(
Delete按钮在更改后仍在使用Edit操作)。感谢您的帮助。
标签: html asp.net-mvc forms asp.net-mvc-5