[英]ASP.NET MVC Remote Validation: Return boolean and string
我一直在尝试对用户名登录访问使用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);
}
}
使用Json对象将数据发送回去,像这样修改您的else块,并在客户端上使用JSON
else
{
var data = new
{
result = false,
userName = username
};
return Json(data, JsonRequestBehavior.AllowGet);
}
正如@Furqan所建议的,您返回的数据不是Json,而是Html。
我建议您返回一个Json对象或其他ActionResult,也许是ContentResult
。 这篇博客文章很好地解释了不同的ActionResult
类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.