微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

验证重定向过期将导致GET而不是POST

如何解决验证重定向过期将导致GET而不是POST

|| 我有一个页面用户正在编辑一些内容。如果该页面上的身份验证到期,并且他们按下“保存”按钮,则由于会话超时,他们将被重定向登录页面。但是,当他们重新进行身份验证时,重定向在我期望POST时在页面上执行GET,因此它将生成HttException \“在控制器\'HLPUSD上未找到公共操作方法\'Close \'。 HEAT.Web.Controllers.TicketController。\“ 我需要怎么做才能解决这个问题? 编辑 例外:
System.Web.HttpException (0x80004005): A public action method \'SavePrecedence\' was not found on controller \'HLPUSD.HEAT.Web.Controllers.QueueController\'.
at System.Web.Mvc.Controller.HandleUnkNownAction(String actionName)
at System.Web.Mvc.Controller.ExecuteCore()
at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
at System.Web.Mvc.ControllerBase.System.Web.Mvc.IController.Execute(RequestContext requestContext)
at System.Web.Mvc.MvcHandler.<>c__displayClass8.<BeginProcessRequest>b__4()
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__displayClass1.<MakeVoidDelegate>b__0()
at System.Web.Mvc.Async.AsyncResultWrapper.<>c__displayClass81.<BeginSynchronous>b__7(IAsyncResult _)
at System.Web.Mvc.Async.AsyncResultWrapper.WrappedAsyncResult1.End()
at System.Web.Mvc.MvcHandler.EndProcessRequest(IAsyncResult asyncResult)
at System.Web.Mvc.MvcHandler.System.Web.IHttpAsyncHandler.EndProcessRequest(IAsyncResult result)
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step,Boolean& completedSynchronously)
    

解决方法

如果您遵守以下约定:
public ActionResult Foo()
{
    ...
}

[HttpPost]
public ActionResult Foo(SomeViewModel model)
{
    ...
}
其中第一个动作呈现一个表单,第二个动作用于处理该表单的提交,当您同时拥有此资源的GET和POST动作时,它将起作用,并且在所述的情况下,用户将被简单地重定向到“ 2”,这将简单地再次呈现表单。     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。