【发布时间】:2017-10-10 19:41:16
【问题描述】:
在我的 ASP.Net (.net 4.7 + MVC5) Web 应用程序中,我有一个操作 Search() 会在授权用户后导致错误。错误如下:
“/”应用程序中的服务器错误。
找不到资源。
描述:HTTP 404。您正在寻找的资源(或其之一 依赖项)可能已被删除,名称已更改,或者是 暂时不可用。请查看以下 URL 并制作 确保拼写正确。
请求的网址:/搜索
版本信息:Microsoft .NET Framework 版本:4.0.30319; ASP.NET 版本:4.7.2106.0
动作实现如下:
[Authorize]
[Route("Search")]
[HttpPost]
public ActionResult Search(SearchViewModels passedQuery)
{
//Action working code here
return View("~/Views/Home/Search.cshtml", passedQuery);
}
表单提交代码如下:
@using (Html.BeginForm("Search", "Home"))
{
<div class="form-group">
@Html.TextBoxFor(m => m.Content, new { @class = "form-control" })<br />
<button type="submit" class="btn btn-danger">SEARCH</button>
</div>
}
如果我从操作中取出 [HttpPost],那么在调试模式下,即使在授权用户之后,应用程序也能完美运行(没有引发错误)。但是如果不使用 [HttpPost],代码在生产服务器上什么也不做。
有人可以帮忙吗:
- 为什么使用 [HttpPost] 时会显示错误消息 [授权]?
- 何时以及为何使用 [HttpPost]? (我提到了一些帖子和
关于 HttpPost 和 HttpGet 使用的文档,但我仍然
我发现很难掌握他们的概念
适当的用法 [1], [2])
我对 ASP.Net 和 MVC 开发非常陌生,非常感谢任何帮助。谢谢你。
【问题讨论】:
标签: asp.net asp.net-mvc-5 http-post