0

入力したユーザー名が受け入れられるか、そのユーザー名がすでに使用されているかどうかをデータベースでチェックしています。ユーザーが入力を受け入れた場合にメッセージを表示したい。

4

1 に答える 1

0

あなたが使用したタグは、jQuery でこれを行いたいことを意味していると思います。

ビューには、ユーザーがユーザー名を入力できるようにするテキスト ボックスがあります。

<input id="username-txt" type="text" />

ユーザー名が既に使用されているかどうかをユーザーが確認できるリンクまたはボタンもあります。

<a id="username-check" href="#">

次に、リンクがクリックされたときに呼び出される JavaScript を少し用意します。js はユーザー名を取得し、ajax を介して MVC アクションを呼び出し、結果に応じてアラートを表示します。

<script type="text/javascript" charset="utf-8">
        $(document).ready(function () {
    $("#username-check").click(function (e) {
    e.preventDefault();
    var name-to-check = $("username-txt").val();
    $.ajax({
          url: 'MyController/CheckUserName,
          type: 'POST',
          data: { username : name-to-check },
          success: function (data) {
             if (data.error != null) {
                alert(data.error_detail);
              } else {
                if(existingNames == 'true'){
                   alert('that username is taken');
                 }else{
                    alert('that username is available');
                 }
              }
          },
            error: function () {
                alert("error");
             }
         });
    });
});
</script>

この JavaScript は、ビュー、_Layout ファイル、または別の .js ファイルに含めることができます。これを機能させるには、jQuery を含める必要があります。

<script src="@Url.Content("~/Scripts/jquery-1.5.1.min.js")" type="text/javascript"></script>

これはあなたのコントローラーコードです:

[HttpPost]
public ActionResult CheckUserName(string username)
{
   // here you'd make a database call to check if the username existed
   bool existingNames = MyService.UserNameExists(username);

return new JsonResult
 {
     Data = existingNames,
     JsonRequestBehavior = JsonRequestBehavior.AllowGet
 };
}

これは明らかに単純化されたソリューションですが、開始する必要があります。これが実際にあなたが望むものであると仮定します!

于 2012-12-03T15:08:16.823 に答える