2016-04-15 25 views
0

我正在使用远程验证程序,但即使调试程序未跟踪该方法也无法正常工作。远程验证在mvc中不起作用。

 public JsonResult CheckStrategyName(string StrategyName) 
     { 
      var ab = from a in db.Sterategy where a.StrategyName == StrategyName select a.StrategyName; 

      return !ab.Any() ? Json(true, JsonRequestBehavior.AllowGet) : Json(string.Format("Name Already esists"), JsonRequestBehavior.AllowGet); 
     } 

我在这里用它

 [Required] 
     [Remote("CheckStrategyName", "St", ErrorMessage = "Already exists ")]  
     [Display(Name = "Name")] 
     public string StrategyName { get; set; } 

Webconfig

<appSettings> 
    <add key="webpages:Version" value="3.0.0.0" /> 
    <add key="webpages:Enabled" value="false" /> 
    <add key="ClientValidationEnabled" value="true" /> 
    <add key="UnobtrusiveJavaScriptEnabled" value="true" /> 
    </appSettings> 

我在哪里犯错? :(

回答

1

服务器代码&设置似乎是罚款。请确保以下到位

  1. 您正在使用TextBoxFor辅助方法来生成相应的输入区的标记和它是一个内形式

    @using (Html.BeginForm()) 
    {  
        @Html.TextBoxFor(s => s.StrategyName) 
        @Html.ValidationMessageFor(s => s.StrategyName)  
    
        <input type="submit" value="Submit" /> 
    } 
    
  2. 您已经包括进行验证所需的JavaScript库。

    <script src="~/Scripts/jquery.js"></script> 
    <script src="~/Scripts/jquery.validate.js"></script> 
    <script src="~/Scripts/jquery.validate.unobtrusive.js"></script> 
    
+0

我没有包含那些库。现在它的工作,非常感谢。 – Nil