我一直在尝试使用ASP.NET MVC远程验证进行用户名登录访问,以返回字符串和布尔值。如果我只返回一个字符串,它将假定布尔值为false,并且不允许用户提交表单。有没有办法可以传入true和字符串,例如“[USERNAME]可用!”?
目前的方法:
public JsonResult isUserAvailable(string username)
{
if (Membership.GetUser(username) == null)
{
return Json(String.Format(CultureInfo.InvariantCulture, "<strong style='color: green;'>{0} is available!</strong>",
username), JsonRequestBehavior.AllowGet);
}
else
{
return Json(false, JsonRequestBehavior.AllowGet);
}
}
答案 0 :(得分:1)
使用Json对象发回数据,像这样修改你的else块并在客户端上使用JSON
else
{
var data = new
{
result = false,
userName = username
};
return Json(data, JsonRequestBehavior.AllowGet);
}
答案 1 :(得分:0)
正如@Furqan建议您返回的数据不是Json而是Html。
我建议您返回一个Json对象或另一个ActionResult,也许ContentResult
。这个blog post可以很好地解释不同的ActionResult
类型。