私は<td>@Html.EditorFor(m => m.User.Username)</td>
RegisterViewにあります。fireBUg の HTML は次のとおりです。
<td>
<input id="User_Username" class="text-box single-line" type="text" value="" name="User.Username" data-val-required="The Username field is required." data-val="true">
</td>
ユーザー名が存在するかどうかを確認するための小さなjqueryコードを作成します。これが私のコードです:
function CheckUserNameExits() {
$("#User_Username").on("blur", function () {
$("#User_Username").addClass("thinking");
var username = $("#User_Username").val();
$.ajax({
url: "/Account/CheckUsername",
data: { userName: username },
dataType: "json",
type: "POST",
error: function () {
return;
},
success: function (data) {
if (data) {
$("#User_Username").addClass("approved");
}
else {
$("#User_Username").addClass("denied");
$(".field-validation-error").html("The username already exits.");
}
}
});
});
}
しかし、テキストボックスに入力してそのままにしておくと。POST 値は常に null です。true
投稿値が null であるため、スクリプトは常に返されます。私のコントローラーの方法:
[HttpPost]
public ActionResult CheckUsername(string userName)
{
var user = IUserRepo.GetUserByUrName(userName);
if (user!= null)
return Json(false);
return Json(true);
}
デバッグでは、userName
パラメーターは常に null です。変更しようとし$("#User_Username")
ました$(".text-box")
が、POST 値も null です。私への提案はありますか?