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