0

我正在数据库中检查用户名,输入的用户名是否被接受或该用户名已经被使用。如果用户输入的用户名被接受,我想显示消息。

4

1 回答 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 回答