ユーザー名の可用性を確認したいので、次のコードを使用します。
<script type = "text/javascript">
function ShowAvailability() {
$.ajax({
type: "POST",
url: "Default.aspx/CheckUserName",
data: '{userName: "' + $("#<%=UserName.ClientID%>")[0].value + '" }',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
failure: function (response) {
alert(response);
}
});
}
function OnSuccess(response) {
var mesg = $("#mesg")[0];
switch (response.d) {
case "true":
mesg.style.color = "green";
mesg.innerHTML = "Available";
break;
case "false":
mesg.style.color = "red";
mesg.innerHTML = "Not Available";
break;
case "error":
mesg.style.color = "red";
mesg.innerHTML = "Error occured";
break;
}
}
function OnChange(txt) {
$("#mesg")[0].innerHTML = "";
}
</script>
一般に、必要なclientIDを取得するためにこのように記述します
$("#<%=UserName.ClientID%>")
ここで、ユーザーの作成ウィザードを使用しているので、ユーザー名テキストボックスのクライアントIDを取得する必要があります。この場合はどうすればよいですか?
これを試しましたが、「TextBox」は型であり、式として使用できないため、エラーが発生します。
var UserName = '<%= ((TextBox)CreateUserWizard1.CreateUserStep.ContentTemplateContainer.FindControl("UserName")).ClientID %>';