【发布时间】:2018-06-01 18:43:09
【问题描述】:
我正在尝试在其他人的代码中修复此“'/' 应用程序中的服务器错误”。我假设他们正在尝试做一些聪明的事情,但从未让它发挥作用,或者发生了一些变化以使其停止工作。但是,我不知道它是否有效。
让我向您展示代码并解释行为,希望这里有人能够帮助我解决这个问题。提前谢谢你。
代码
表单上有一个删除按钮:
<a href='@Url.Action("Delete", new { queryId = uq.Id })' class="button small" title="Click to delete this query">Delete</a>
应该是执行下面的控制器方法。
[HttpPost]
public ActionResult Delete(int? queryId)
{
var userId = CurrentUser.Id;
UserQueryService uqs = new UserQueryService();
uqs.Delete(userId, (int)queryId);
return View("Index", new UserQueryService().GetByUserId(userId));
}
但是执行永远不会进入方法。相反,我收到以下信息。
试过
因此,我从 href 链接和控制器中删除了 queryId 参数,并将其设为操作(而不是帖子)。这是我的测试代码:
<a href='@Url.Action("Delete")' class="button small" title="Click to delete this query">Delete</a>
执行进入控制器。
//test method
public ActionResult Delete()
{
var userId = CurrentUser.Id;
UserQueryService uqs = new UserQueryService();
return View("Index", new UserQueryService().GetByUserId(userId));
}
谁能告诉我参数传递代码有什么问题导致它找不到控制器方法?
【问题讨论】:
-
您的操作属于 post 类型,而您正在执行获取请求
标签: c# asp.net-mvc razor http-post