2012-06-13 95 views
1

我一直在嘗試使用ASP.NET MVC遠程驗證用戶名登錄訪問來返回字符串和布爾值。如果我只返回一個字符串,它將假定布爾值爲false,並且不讓用戶提交表單。有沒有一種方法可以傳遞true和字符串,例如「[USERNAME]可用!」?ASP.NET MVC遠程驗證:返回布爾值和字符串

電流法:

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

由於@Furqan建議的數據要返回不是Json,而是Html。

我建議你要麼返回一個Json對象,要麼返回一個不同的ActionResult,或許是ContentResult。這blog post做了很好的解釋不同的ActionResult類型。

1

使用JSON對象將數據發回,修改else塊這樣和使用JSON在客戶端

else 
    { 
     var data = new 
     { 
     result = false, 
     userName = username 
     }; 
return Json(data, JsonRequestBehavior.AllowGet); 
    }