2012-11-19 53 views

回答

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 
}; 
} 

這顯然是一個簡化的解決方案,但它應該讓你開始。假設這實際上是你想要的!

相關問題