我正在尝试在其他人的代码中修复这个“'/'应用程序中的服务器错误”。我假设他们正在尝试做一些聪明的事情,但从未让它起作用,或者发生了一些变化以使其停止工作。但是,我不知道它是否有效。
让我向您展示代码并解释行为,希望这里有人能够帮助我解决这个问题。先感谢您。
代码
表单上有一个删除按钮:
<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));
}
谁能告诉我参数传递代码有什么问题导致它找不到控制器方法?
相关分类