入力したユーザー名が受け入れられるか、そのユーザー名がすでに使用されているかどうかをデータベースでチェックしています。ユーザーが入力を受け入れた場合にメッセージを表示したい。
質問する
300 次
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 に答える