2013-03-20 63 views
4

不知道這裏出現了什麼問題。我已閱讀了其他一些解決方案並試圖使用它們,但似乎沒有任何工作。我想要做的就是呈現日期選擇器。我以前做過很多次,只是不確定是否因爲我在最近幾周內處於「緊縮」狀態,或者發生了什麼,而導致大腦失靈。JScript UI在Scripts.Render之後不能在MVC 4中工作?

  1. 我有最新的JQuery(1.9.1),最新的JQuery UI(1.10.2)。
  2. 我檢查了BundleConfig,一切似乎很好:

     bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
           "~/Scripts/jquery-{version}.js")); 
    
        bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
           "~/Scripts/jquery-ui-{version}.js")); 
    
        bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
           "~/Scripts/jquery.unobtrusive*", 
           "~/Scripts/jquery.validate*")); 
    
        // Use the development version of Modernizr to develop with and learn from. Then, when you're 
        // ready for production, use the build tool at http://modernizr.com to pick only the tests you need. 
        bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
           "~/Scripts/modernizr-*")); 
    
        bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css")); 
    
        bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
           "~/Content/themes/base/jquery.ui.core.css", 
           "~/Content/themes/base/jquery.ui.resizable.css", 
           "~/Content/themes/base/jquery.ui.selectable.css", 
           "~/Content/themes/base/jquery.ui.accordion.css", 
           "~/Content/themes/base/jquery.ui.autocomplete.css", 
           "~/Content/themes/base/jquery.ui.button.css", 
           "~/Content/themes/base/jquery.ui.dialog.css", 
           "~/Content/themes/base/jquery.ui.slider.css", 
           "~/Content/themes/base/jquery.ui.tabs.css", 
           "~/Content/themes/base/jquery.ui.datepicker.css", 
           "~/Content/themes/base/jquery.ui.progressbar.css", 
           "~/Content/themes/base/jquery.ui.theme.css")); 
    
  3. 我已經設置了_Layout.cshtml頭:

    @Styles.Render("~/Content/css") 
        @Scripts.Render("~/bundles/modernizr") 
        @Scripts.Render("~/bundles/jquery") 
        <script> 
         $(function() { 
          $("#datepicker").datepicker(); 
         }); 
        </script> 
    

,然後添加其他腳本。在主體中渲染(「〜/ bundles/jquery」)。然而,當我添加日期選擇器時,沒有任何反應......我只是得到一個文本框。

我也曾嘗試:

  • 在頭
  • 在如在jQuery用戶界面演示提供(網址)

jquery的腳本引用添加手動添加腳本參考沒有......我的意思是沒有任何工作。我仔細檢查了我的文件路徑,他們是正確的...我錯過了什麼?!

+0

如果您看到任何錯誤,您可以檢查控制檯嗎? – PSL 2013-03-20 22:33:49

+2

你似乎沒有渲染'〜/ bundles/jqueryui',但只有'〜/ bundles/jquery' – 2013-03-20 22:35:46

+0

我發現可能是bootstrap與jquery工作不好,對不起我的英文。這裏是鏈接http://blogs.msdn。com/b/webdev/archive/2013/08/01/make-jquery-ui-and-bootstrap-2-working-together-in-mvc-template.aspx – zeuz1983 2014-03-20 17:49:02

回答

6

我有完全相同的問題,彈跳我的頭,直到我碰到這個來到一個解決方案:http://forums.asp.net/t/1879457.aspx

簡而言之:

  • 風格應在頁面上,使用@ Styles.Render呈現頭部
  • 只有jquery包被包含在頁頭中(使用@ Scripts.Render),至少在我的代碼中。
  • 所有其他腳本(jQuery的再次重複:jQuery UI等)應該使用在頁面主體剛剛結束標記之前渲染@ Scripts.Render ...

頁這樣的結尾代碼:

 @Scripts.Render("~/bundles/jquery") 
    @Scripts.Render("~/bundles/jqueryui") 

    @Scripts.Render("~/bundles/jqueryval") 
    @Scripts.Render("~/bundles/modernizr") 
    @RenderSection("scripts", required: false) 
</body> 

所以我得到了jquery IU的工作!

1

您爲jQuery ui製作了一個包,但是您還沒有在頁面中設置參考。在jQuery包引用之後並在創建日期選擇器之前添加一個引用。 你有沒有將日期選擇器設置爲ID或類?現在你把它設置爲id。如果您已將文本框設置爲日期選擇器類,請使用jQuery的類選擇器。

+1

我加了@ Scripts.Render(「〜/ bundles/jqueryui「)的頭(是的,忘記了),但仍然沒有。我也將其添加到身體,但也沒有工作。奇怪的是,沒有錯誤或警告... – 2013-03-23 17:25:35

+0

你可以發佈你的HTML或只應該得到的日期選擇器?你有沒有添加jQuery AFTER jQuery?也可以嘗試Ctrl + F5進行硬刷新。 – 2013-03-25 12:33:11

+0

請參閱本博客datepicker的本地化支持:http://locktar.wordpress.com/2012/09/10/localization-validation-in-mvc/ – 2013-03-25 12:33:29