2014-02-28 4 views
0

나는 이것이 단지 찾지 못하는 단순한 것이라고 확신합니다.@ Html.JQueryUI() - JQueryUI에 대한 정의가 없습니다.

@ Html.JQueryUI()를 사용하는 모든보기에서 JQueryUI에 JQueryUI에 대한 정의가없고 JQueryUI 형식의 확장 메서드가 없다는 컴파일 오류가 발생합니다. 첫 번째 인수는 예외입니다. 형식의 System.Web.MVC.HtmlHelper. 어셈블리 참조가 누락되었거나 문을 사용하고 있는지 묻습니다.

페이지 소스를보고 올바른 파일을 반환하는 각 파일 링크를 클릭하여 필요한 js 및 css 파일을 브라우저에 렌더링 할 때 필요한 모든 js 및 css 파일이로드되는지 확인했습니다. 이 MVC 4 프로젝트에서

나는이 모든 CSS/JS 파일을 포함하도록 BundleConfig 클래스를 사용하고

:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js")); 
bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
        "~/Scripts/jquery-ui-1.10.4.custom.js")); 
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
        "~/Scripts/jquery.unobtrusive*", 
        "~/Scripts/jquery.validate*")); 
bundles.Add(new StyleBundle("~/Content/themes/trontastic/css").Include(
          "~/Content/themes/trontastic/jquery-ui-1.10.4.custom.css", 
          "~/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")); 

내 _Layout 페이지에서 스크립트/CSS를 렌더링하고있어

@Styles.Render("~/Content/themes/trontastic/css") 
@Scripts.Render("~/bundles/jquery") 
@Scripts.Render("~/bundles/jqueryui") 

JQuery 유효성 검사는보기 작성 및 편집 페이지에서만 렌더링됩니다.

@Scripts.Render("~/bundles/jqueryval") 

모든보기에서 .JQueryUI()에서이 오류를 반환하는 코드 줄.

@Html.JQueryUI().Datepicker("anotherDate").MinDate(DateTime.Today).ShowButtonPanel(true) 

나는이 페이지 소스보고 및 파일 링크를 각각 클릭하여 브라우저에서 렌더링 될 때 필요한 모든 JS 및 CSS 파일이 페이지에로드되는 것을 확인했습니다.

+0

어디 @ Html.JQueryUI의 당신의 HtmlHelper 확장()이다 :

나는 추가했다? 이 제품에 대해 들어 본 적이 없으므로 직접 구현 했습니까? – iappwebdev

+0

이 웹 사이트를 사용하고 있습니까? http://jqueryuihelpers.apphb.com/Docmo/GettingStarted? – iappwebdev

+0

Simon에게 응답 해 주셔서 감사합니다 ... 예.이 jqueryuihelpers 링크를 테스트로 추가하여 날짜 선택기를 추가하여 양식 JQuery를 올바르게 작성했는지 확인했습니다. 내 주요 목표는 전체 사이트에 대해이 테마를 사용하는 것입니다. – Shawn

답변

3

webconfig에 JQueryUI HtmlHelper의 네임 스페이스를 추가해야합니다. 파일 열기 ~/Views/Web.config 및 추가 :

때때로 당신이 weg.config

편집 2

의 새로운 네임 스페이스를 적응하기 위해 귀하의 의견, 심지어 비주얼 스튜디오를 폐쇄해야

<system.web.webPages.razor> 
    <pages pageBaseType="System.Web.Mvc.WebViewPage"> 
     <namespaces> 
      <add namespace="JQueryUIHelpers" /> 
     </namespaces> 
    </pages> 
</system.web.webPages.razor> 

편집

방금이 패키지를 누겟을 통해 설치했습니다. 네임 스페이스는 자동으로 추가되지만 dll 참조는 자동으로 추가되지 않습니다. 참조를보고 JQueryUIHelpers.dll에 대한 참조를 추가하고 프로젝트를 다시 작성하십시오. 나를 위해 일했다.

+0

제공 한 예제 코드를 VS에 저장되고 닫힌 루트 webconfig 파일에 추가했습니다. 이제 프로젝트의 모든보기에있는 모든 @Html 문에 저장 오류가 있습니다. – Shawn

+0

전체 스 니펫을 포함시키지 않았 으면합니다. 이미 존재하지 않으면''** 줄을 추가하기 만하면되었습니다 !! ** – iappwebdev

+0

NuGet을 통해 JQueryUIHelpers에 대한 참조를 추가하고 제공된 snipped를 제거한 다음 namespace . 이로 인해 누락 된 참조로 인해 발생한 문제가 해결되었습니다. 그것은 내가 찾은 게시물/Google 검색에 네임 스페이스 또는 JQueryUIHelpers를 참조로 추가하기위한 지침이 없다는 것이 이상합니다. 어쨌든 당신의 도움에 감사드립니다 사이먼이 내 문제를 해결! – Shawn

1

또한 .net 프레임 워크 4.5.1 (http://msdn.microsoft.com/es-es/library/5a4x27ek(v=vs.110).aspx)으로 업그레이드하는 것이 좋습니다. 새 버전을 설치하고 4.5.1을 사용하도록 프로젝트 응용 프로그램 속성을 변경하기 전까지는 JQueryUIHelpers가 작동하지 않았습니다. 나는이 같은 문제에 달려

+0

이 문제가 해결되었습니다. 간단히 프레임 워크 버전을 4.5.1로 변경했는데 모두 잘되었습니다! –

0

은 ...

이미 닷넷 4.5.1 설치했다

, Web.config의 이미 정확하고 DLL은 이미 추가되었습니다.

@using JQueryUIHelpers; 
관련 문제