我正在数据库中检查用户名,输入的用户名是否被接受或该用户名已经被使用。如果用户输入的用户名被接受,我想显示消息。
问问题
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 回答