webmatrix、asp.net & Javascript、SQL サーバー CE を使用して登録フォームを作成します。ユーザー名テキストボックスの onblur イベントを作成しています。フォーカスがテキストボックスを離れると、データベースに既存のユーザー名があるかどうかがチェックされ、存在する場合はラベルが表示されます。「@{}」ブロック内の場合、js コードが無視されるため、コードが機能しません。「@{}」ブロックの外では問題なく動作しますが、そこに条件を与えることはできません。助けてください。
<html>
<head>
<script>
function RegUsernameLeave()
{
@{
regusername=Request.Form["regusername"];
if(!regusername.IsEmpty())
{
var db = Database.Open("myshop");
int usercount = db.QueryValue("select count(*) from webusers where username=@0",regusername);
db.Close();
if(usercount!=0){
document.getElementById("msg").innerHTML="Username already exists";}
}
}
}
</script>
</head>
<body>
<label>Username:</label>
<p><input type="text" id="regusername" onblur="RegUsernameLeave()"/>
<label id="msg"></label></p>
</body>
</html>