1

ユーザー名のログイン アクセスに ASP.NET MVC リモート検証を使用して、文字列とブール値の両方を返そうとしています。文字列だけを返すと、ブール値が false であると見なされ、ユーザーがフォームを送信できなくなります。true と「[USERNAME] is available!」などの文字列の両方を渡す方法はありますか?

現在の方法:

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);
        }
    }
4

2 に答える 2

1

Json オブジェクトを使用してデータを送り返し、else ブロックをこのように変更して、クライアントで JSON を使用します

 else
    {
       var data = new 
       { 
         result = false, 
         userName = username 
       };
 return Json(data, JsonRequestBehavior.AllowGet);
   }
于 2012-06-13T14:12:56.433 に答える
0

@Furqan が示唆したように、返されるデータは Json ではなく Html です。

おそらく、Json オブジェクトまたは別の ActionResult を返すことをお勧めしますContentResult。このブログ投稿では、さまざまなタイプについて説明していActionResultます。

于 2012-06-14T02:09:34.703 に答える