0

以前の質問のおかげで、ユーザーが以前の TextBox にテキストを入力した後、新しい Textbox を正常に表示できました。

ここで、元の TextBox のテキストが検証された後にのみ、新しい TextBox を表示したいと思います。
検証により、元の TextBox のデータがデータベースにないことが確認されます。

テキスト ボックスはAjax Update Panel. 残念ながら、私はAutoPostBackイベントを使用することはできませんfunction pageLoad() .

JavaScript を使用してデータベースに対して検証したいと考えており、これまでのところ次のコードを使用しています。

Text.aspx の JavaScript

<script type="text/javascript">
        function pageLoad() {
            $('#<%: txtRegisterEmail.ClientID %>').on('blur', function () {
                $.ajax({
                    type: "POST",
                    url: "Test.aspx/CheckEmail",
                    data: "{Email: '" + ('#<%: txtRegisterEmail.ClientID %>').value + "'}",
                    contentType: "application/json; charset=utf-8",
                    dataType: "json",
                    success: OnSuccess,
                    failure: function(response) {
                        alert(response);
                    }
                });
            });
        }

        function OnSuccess(response) {
            $('#<%: txtRegisterEmailConfirm.ClientID %>').slideDown();
        }
        //'input[name$="txtRegisterEmailConfirm"]'
    </script>

Test.aspx.cs

[System.Web.Services.WebMethod]
public static bool CheckEmail(string Email)
{
    int counter = 0;
    const string strSql = "SELECT memberEmail FROM vwGetMemberDetails";

    using (SqlCommand sqlComm = new SqlCommand(strSql, DataConn.Connect()) { CommandType = CommandType.Text })
    {
        using (SqlDataReader rdr = sqlComm.ExecuteReader())
        {
            while (rdr.Read())
            {
                counter = counter + 1;
            }
        }
    }

    return counter > 0;
}

このコードが行う唯一のことは、テキスト ボックスを表示することです (検証なしのようです)。どうすればこれを機能させることができますか?

4

0 に答える 0