【发布时间】:2015-04-07 10:27:01
【问题描述】:
我正在尝试像这样从索引视图页面中删除一个实体
@using (Html.BeginForm())
{
@Html.AntiForgeryToken()
<button type="submit" value="delete" formaction="/Issue/Delete">Delete</button>
}
在此按钮上单击我希望我的 DeleteConfirmed Action 在控制器内发生(而不是转到另一个删除页面)。
内部控制器
[HttpPost, ActionName("Delete")]
[ValidateAntiForgeryToken]
public ActionResult DeleteConfirmed(int id)
{
Issue issue = _db.Issues.Find(id);
_db.Issues.Remove(issue);
_db.SaveChanges();
return RedirectToAction("Index");
}
现在它会抛出一个错误
参数字典包含参数“id”的空条目 方法的不可空类型“System.Int32” 'System.Web.Mvc.ActionResult DeleteConfirmed(Int32)' 在 'DiagnosisApp.Controllers.IssueController'。可选参数必须 是引用类型、可为空的类型或被声明为可选项 参数。
参数名称:参数
谁能指出实现这一目标的正确方法是什么?
【问题讨论】:
-
也发布您的删除操作代码。
-
与问题无关,但最好不要使用硬编码的网址,而是使用 @Url 助手。
-
您需要将 Id 传递给您的操作方法。
-
@JenishRabadiya 怎么样?可以添加代码示例吗?
-
id从哪里来?网格?用户输入?视图模型?请显示一些代码。
标签: c# asp.net-mvc