我在使用 [Remote] 属性时遇到了一个严重的问题。所以这是我的代码:
我已经包含了远程验证所需的所有 Jquery 库:
<head>
<meta charset="utf-8" />
<title>@ViewBag.Title - My ASP.NET MVC Application</title>
<link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" />
<meta name="viewport" content="width=device-width" />
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.js" type="text/javascript"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.11.1/jquery.validate.min.js" type="text/javascript"></script>
@RenderSection("scripts", required: false)
</head>
这也是我在域类上的代码,它被称为 Agence :
public class Agence
{
#region Properties
[Key]
[Column("num_siret")]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
[Display(Name = "Numéro Siret")]
[Remote("ValidateNumSiretNumberDigits", "RemoteValidation")]
public long NumSiret { get; set; }
. . . . . . .
}
这是我的控制器 RemoteValidation :
[AllowAnonymous]
public class RemoteValidationController : Controller
{
//
// GET: /Admin/RemoteValidation/
public ActionResult ValidateNumSiretNumberDigits(long numSiret)
{
string s = numSiret.ToString();
for (int i = 0; i < s.Length; i++)
{
if (s.Equals('0'))
s.Remove(i);
else
{
break;
}
}
return Json(s.Count()==15, JsonRequestBehavior.AllowGet);
}
}
问题是验证不起作用,当我按下验证按钮时没有任何反应!即使我在 JSon 的返回参数中始终将验证设置为 true,也没有任何反应。我还应该告诉您,验证是从管理区域的创建页面调用的。我怀疑问题出在我包含的 JQuery 插件上,因为我真诚地没有使用 JQuery。谢谢你。