相关疑难解决方法(0)

找不到ASP.NET MVC 3 HttpPost操作方法

我有一个简单的表单,发布到一个HttpPost动作方法,返回其相应的视图.我的问题是我收到了404 Not Found错误.奇怪的是,如果我将action方法和action方法的属性更改为a GET,那么它就可以工作并显示TestMethod视图.

似乎我错过了使用的东西POST,但我在其他控制器中的帖子工作正常(例如帐户登录和注册).请注意,该AllowAnonymous属性是一个自定义属性,可以指定允许匿名访问的控制器或操作,而不是指定(通过Authorizeattr)需要授权的控制器或操作.我想没有什么是不可能的,但我认为这与我的问题没有任何关系.什么错误的想法?

形成:

@using (Html.BeginForm("TestMethod", "Test", FormMethod.Post, new { @id = "testForm" })) {
    <fieldset>
        <legend>Test Form</legend>
        <input type="submit" value="Submit" />
    </fieldset>
}
Run Code Online (Sandbox Code Playgroud)

控制器行动:

[AllowAnonymous]
[HttpPost]
public ActionResult TestMethod() {
    return View();
}
Run Code Online (Sandbox Code Playgroud)

视图:

<h2>TestMethod</h2>
<p>HttpPost method was successful.</p>
Run Code Online (Sandbox Code Playgroud)

从Global.asax.cs注册路由方法:

public static void RegisterRoutes(RouteCollection routes) {
        routes.IgnoreRoute("favicon.ico");
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        // About
        routes.MapRoute(
            "About", // Route name
            "about", // URL with parameters
            new { controller = "Home", action …
Run Code Online (Sandbox Code Playgroud)

post url-rewriting http-status-code-404 razor asp.net-mvc-3

4
推荐指数
1
解决办法
6204
查看次数