2014-10-29 2 views
0

Я пытаюсь заставить мой AJAX работать в PARTIAL VIEW. Я включил его в верхней части моей страницы макета как:Ajax unobtrusive validation и MVC4

 <head> 
     <meta charset="utf-8" /> 
     <title>@ViewBag.Title - COMIS</title> 
     <link href="~/favicon.ico" rel="shortcut icon" type="image/x-icon" /> 

     <link href="~/Content/themes/base/jquery.ui.core.css" rel="stylesheet" type="text/css" /> 
     <link href="@Url.Content("~/Content/Site.css")" rel="stylesheet" type="text/css" /> 
     <link href="@Url.Content("~/Content/themes/base/jquery.ui.theme.css")" rel="stylesheet" 
     type="text/css" /> 

     <script src="~/Scripts/jquery-1.11.1.js" type="text/javascript"></script> 

     <script src="../../Scripts/jquery-ui-1.11.1.js" type="text/javascript"></script> 
     <script src="~/Scripts/jquery-migrate-1.2.1.js" type="text/javascript"></script> 
     <script src="../../Scripts/DatePickerReady.js" type="text/javascript"></script> 

     <script src="~/Scripts/jquery-ui-1.11.1.validate.min.js" type="text/javascript"></script> 

     <script src="~/Scripts/jquery.validate.js" type="text/javascript"></script> 
     <script src="~/Scripts/jquery.validate.unobtrusive.js" type="text/javascript"></script> 

     <script src="~/Scripts/jquery-1.11.1.min.js" type="text/javascript"></script> 
     <script src="~/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script> 
     <script src="~/Scripts/jquery.validate.min.js" type="text/javascript"></script> 
     <script src="~/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript">  
     </script> 

     <meta name="viewport" content="width=device-width" /> 
     @Styles.Render("~/Content/css") 
     @Styles.Render("~/Content/themes/base/css") 
     @Scripts.Render("~/bundles/modernizr") 
     @Scripts.Render("~/bundles/jquery")/
     @Scripts.Render("~/bundles/jqueryui") 
     @Scripts.Render("~/bundles/jqueryval") 


     @Scripts.Render("~/Scripts/buttons.js") 
     @Scripts.Render("~/Scripts/navigation.js") 
    </head> 

Однако он не работает. Он выдает ошибку: «Ошибка выполнения JavaScript: невозможно получить« ненавязчивое »свойство неопределенного или нулевого ссылки mvc 4». Я думаю, это потому, что я ссылаюсь на слишком много скриптов. может кто-то угодить обувает меня, что я делаю неправильно?

BUNDLE.config

 public class BundleConfig 
     { 

      public static void RegisterBundles(BundleCollection bundles) 
      { 
       bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
          "~/Scripts/jquery-{version}.js")); 

       bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
       "~/Scripts/jquery-ui-{version}.js", 
       "~/Scripts/jquery-ui.unobtrusive-{version}.js")); 

       bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
      "~/Content/themes/base/jquery.ui.core.css", 
      "~/Content/themes/base/jquery.ui.datepicker.css", 
      "~/Content/themes/base/jquery.ui.theme.css")); 

     bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
          "~/Scripts/jquery.validate*", 
          "~/Scripts/jquery.unobtrusive*")); 


       bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
          "~/Scripts/modernizr-*")); 

       bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css", 
     "~/Content/PagedList.css")); 

       bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css", 
          "~/Content/jquery-ui.css")); 


       bundles.IgnoreList.Clear(); 
    bundles.IgnoreList.Ignore("*.intellisense.js"); 
       bundles.IgnoreList.Ignore("*-vsdoc.js"); 
       bundles.IgnoreList.Ignore("*.debug.js", OptimizationMode.WhenEnabled); 


      } 
     } 

**PARTIAL VIEW** - 

    @model COMIS.Models.X 
    @using(Html.BeginForm("Create")) 
     { @Html.ValidationSummary(true) 


     <fieldset class="innerform"> 
     <div> 
      .... 
     </div> 
    </fieldset> 

    } 


     <script src="~/Scripts/jquery-1.11.1.js" type="text/javascript"></script> 
     <script src="~/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script> 
+1

у вас есть много ссылок на скрипт, проверить BundleConfig.cs и посмотреть, что вы пакетирования. вы можете ссылаться на них более одного раза. – shammelburg

+0

обновил его, чтобы включить my bundle.config @Burg – New2This

+1

Удалите все ваши теги '

1

Попробуйте ссылки на скрипты, чтобы в нижней части страницы макета.

Пример:

<script src="~/Scripts/jquery-2.1.1.js"></script> 
    <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script> 
    <script src="~/Scripts/jquery.unobtrusive-ajax.min.js"></script> 
    <script src="~/Scripts/jquery.validate.js"></script> 
    <script src="~/Scripts/jquery.validate.min.js"></script> 
    <script src="~/Scripts/jquery.validate.unobtrusive.js"></script> 
    <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script> 
</body> 
</html> 
Смежные вопросы