ASP.NET MVC远程验证:返回布尔值和字符串

时间:2012-06-13 00:23:00

标签: asp.net asp.net-mvc string validation

我一直在尝试使用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);
        }
    }

2 个答案:

答案 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类型。