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; }
我已经阅读了一些有关在验证控制器中手动绑定的东西,但是我用来构建这个的示例没有提及任何有关这个的东西,所以我假设手动绑定只是对我做错的事情的补丁。让我知道你是否需要其他数据。