繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM