我正在尝试使用支持Ajax的登录注销。
我在控制器中做了一些逻辑来登录用户,然后返回包含欢迎消息和注销操作的简单部分链接我的操作方法如下:
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (MembershipService.ValidateUser(model.UserName, model.Password))
{
FormsService.SignIn(model.UserName, model.RememberMe);
if (Request.IsAjaxRequest())
{
//HERE IS THE PROBLEM :(
return View("LogedInForm", model);
}
else
{
if (!String.IsNullOrEmpty(returnUrl))
return Redirect(returnUrl);
else
return RedirectToAction("Index", "Home");
}
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
if (Request.IsAjaxRequest())
{
return Content("There were an error !");
}
}
}
return View(model);
}
我尝试返回这个简单的部分:
Welcome <b><%= Html.Encode(Model.UserName)%></b>!
<%= Html.ActionLink("Log Off", "LogOff", "Account") %>
当然,这两个部分是强类型的logonmodel。
但如果我回来
View("PartialName")
我总是得到
OnFailure
状态代码为500。
如果我回来
Content("My Message")
一切顺利。
所以请告诉我为什么我总是得到“statuscode=500”??大错误在哪里??