【发布时间】:2010-05-30 19:01:39
【问题描述】:
我正在编写一个 ASP.NET MVC 2.0 应用程序,该应用程序要求用户在出价之前登录。我正在使用 actionfilter 来确保用户已登录,如果没有,则将其发送到登录页面并设置返回 url。下面是我在操作过滤器中使用的代码。
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new RedirectResult(String.Concat("~/Account/LogOn","?ReturnUrl=",filterContext.HttpContext.Request.RawUrl));
return;
}
在我的登录控制器中,我验证用户凭据,然后登录并重定向到返回 url
FormsAuth.SignIn(userName, rememberMe);
if (!String.IsNullOrEmpty(returnUrl))
{
return Redirect(returnUrl);
}
我的问题是这将始终使用 Get (HttpGet) 请求,而我最初的提交是一个帖子 (HttpPost) 并且应该始终是一个帖子。谁能建议一种传递此 URL 的方法,包括 HttpMethod 或任何解决方法以确保使用正确的 HttpMethod?
【问题讨论】:
标签: c# asp.net-mvc http-post returnurl