0
我想第一次嘗試MVC3遠程驗證。我使用它的經典'是用戶名採取'的情況下,我失敗了。我已經檢查了Chrome開發人員的ajax信息,看起來它正在發送值,但在我的驗證控制器中,字符串爲空。遠程驗證,值沒有得到驗證控制器
從AJAX報頭(在谷歌顯影劑):
UserData.login:jon
驗證控制器:
public class ValidationController : Controller
{
//
// GET: /Validation/
public JsonResult IsUsernameAvailable(string login)
{
var repo = new Repository();
bool IsNameInUse = repo.CheckUserName(login);
if (IsNameInUse == true)
{
return Json("The Username has been taken, please try another", JsonRequestBehavior.AllowGet);
}
return Json(true, JsonRequestBehavior.AllowGet);
}
}
的 'CheckUserName' 方法:
public bool CheckUserName(string Username)
{
var existingUser = (from u in db.useraccount
where u.login.Equals(Username)
select u).SingleOrDefault();
if (existingUser == null)
{
return false;
}
else
{
return true;
}
}
和用戶模型具有Remote屬性:
[Remote("IsUserNameAvailable", "Validation")]
[Display(Name = "Choose a Login Name")]
[StringLength(40)]
[Required]
public string login { get; set; }
我已經閱讀了一些有關在驗證控制器中手動綁定的東西,但是我用來構建這個的示例沒有提及任何有關這個的東西,所以我假設手動綁定只是對我做錯的事情的補丁。讓我知道你是否需要其他數據。