Asp.net mvc 4 MVC表单操作方法被覆盖

Asp.net mvc 4 MVC表单操作方法被覆盖,asp.net-mvc-4,c#-4.0,razor,asp.net-mvc-5.2,Asp.net Mvc 4,C# 4.0,Razor,Asp.net Mvc 5.2,我有以下表格: @model @using (Html.BeginForm("ResetPassword", "User", FormMethod.Post, new { @class = "form-horizontal", role = "form" })) { @Html.AntiForgeryToken() @Html.Hidden("guid", ViewData["guid"]) ....ect it contains a model and 1 hidden fie

我有以下表格:

@model
@using (Html.BeginForm("ResetPassword", "User", FormMethod.Post, new { @class = "form-horizontal", role = "form" }))
{
    @Html.AntiForgeryToken()
    @Html.Hidden("guid", ViewData["guid"]) ....ect it contains a model and 1 hidden field
当我点击页面时,我必须通过以下方式传递guid:

User/ResetPassword/8C5F38CC-C8DB-46B4-80F5-169699D8A583
我按预期点击了动作控制器:

 public ActionResult ResetPassword(string id)
        {
            ViewBag.Title = @DDHelper.GetContent("user_password_reset_new") + " " +
                @DDHelper.GetContent("slogan") + " " + @DDHelper.GetMeta("sitename");

            if (id != null)
            {
                Guid pwID = new Guid();
                if (Guid.TryParse(id, out pwID))
                {
                    if (UserManager.GetResetPasswordUser(pwID) != null)
                    {
                        ViewData["guid"] = id;
                        return View(new Models.User());
                    }
                }
            }
            return View();
        }
现在,当我查看生成的html razor时,我看到:

<form action="/User/ResetPassword/8C5F38CC-C8DB-46B4-80F5-169699D8A583" class="form-horizontal" method="post" role="form">
现在,当我发布表单时,我再次点击cshtml,我没有点击我的动作,因为动作

/User/ResetPassword/8C5F38CC-C8DB-46B4-80F5-169699D8A583
不存在,并且每次有人点击此页面时,guid都不同。
如何告诉html.beginform不要在操作名称中写入参数?为什么razor会这样呢?

ps我花了30分钟才让代码格式化程序接受我的问题。最后,它接受了这种格式,并破坏了第一行代码。很抱歉,如果你没有点击你的POST方法,它与route参数无关。您需要向您展示控制器方法的问题:当有人进入页面时,它会点击:public ActionResult ResetPassword(字符串id)当有人提交时,它必须点击[HttpPost][ValidateAntiForgeryToken]public ActionResult ResetPassword(Models.User pwUser),它将点击(因为您已经指定了
FormMethod.Post
!)它没有点击[HttpPost][ValidateAntiForgeryToken]公共操作结果重置密码(Models.User pwUser)我在那里有断点并抛出异常它只在断点处停止
/User/ResetPassword/8C5F38CC-C8DB-46B4-80F5-169699D8A583