2010-04-07 5 views
0

Ajax.ActionLink가있는 MVC보기가 있습니다.jQuery UI 대화 상자에 CSS가 적용되지 않습니다.

this.Ajax.ActionLink("Create Offender", "Create", "ReportOffender", 
     null, new AjaxOptions() 
     { 
         HttpMethod = "GET", UpdateTargetId = "dialog", 
         OnBegin = "function() { $('#dialog').dialog('open'); }" 
     }, 
     new Dictionary<string, object>() { { "class", "optionlink" } }) 

이렇게하면 "만들기"라는 작업이 호출되어 부분보기가 반환되어 div/대화 상자 안에 저장됩니다. 이 부분보기의 내용은 표, 일부 행/열 및 텍스트 상자에 각각 CSS 클래스가 할당되어 있습니다.

문제는 대화 상자가 표시되고 부분보기가 내부로 렌더링되어 CSS 클래스가 무시되고 렌더링되지 않는 경우입니다.

왜 이런 일이 발생하는지 알고 싶습니다.

감사

마이클

PS 이것은 사용자가 완료되면 GET를 생성 동작으로부터 반환 된 부분보기 ...

<% using(this.Ajax.BeginForm("Create", "ReportOffender", null, new AjaxOptions() { HttpMethod = "POST", UpdateTargetId = "dialog" })) { %> 

    <% this.Html.RenderPartial("~/Views/IncidentReporting/Report/Offender/DataEntryUserControl.ascx", this.Model); %> 

<% } %> 

를 (위 Ajax.ActionLink 참조) 아래의 양식, 스 니펫, POST 작성 메소드가 호출되고 응답이 동일한 대화 상자에 배치됩니다. 이 응답은 "오류가 있습니다"또는 "저장된 성공"메시지 중 하나입니다. 같은 양식을 사용하는 유사한 편집 버전도 있기 때문에 여기에서 다른 RenderParital을 사용합니다. 당신은 특별한 아무것도 볼 수 있듯이 아래

<table class="entity-form"> 

    <tr> 
     <td class="entity-form-validation-summary" colspan="2"> 
      <%= this.Html.ValidationSummary() %> 
     </td> 
    </tr> 

    <!-- FIRST NAME --> 
    <tr> 
     <td class="entity-form-caption"><label for="Entity.FirstName">First Name</label></td> 
     <td> 
     <%= this.Html.TextBox("Entity.FirstName", this.Model.Entity.FirstName, 50, 50, this.Page.User.IsInRoles(SecurityGroups.Translators), null) %> 
     <%= this.Html.ValidationMessage("Entity.FirstName") %> 
     </td> 
    </tr> 

    <!-- LAST NAME --> 
    <tr> 
     <td class="entity-form-caption"><label for="Entity.LastName">Last Name</label></td> 
     <td> 
     <%= this.Html.TextBox("Entity.LastName", this.Model.Entity.LastName, 50, 50, this.Page.User.IsInRoles(SecurityGroups.Translators), null)%> 
     <%= this.Html.ValidationMessage("Entity.LastName")%> 
     </td> 
    </tr> 

... DataEntryUserControl.ascx의 내부 HTML의 조각이며, 사용자가 작성하는 양식을 나타냅니다. 추가 매개 변수가있는 TextBox 메서드는 MaxLength, Size 등을 텍스트 상자 컨트롤에 추가하기 위해 만든 확장 메서드입니다. CSS에 문제가 있습니다. 나는 동일한 CSS 클래스와 양식 구조를 "정상적인"뷰의 다른 곳에 사용하고 올바르게 렌더링했습니다.

+0

질문을 업데이트하고 영향을 줄 수있는 HTML 및 CSS의 스 니펫을 추가 할 수 있습니까? 당신이 준 설명에서 알기가 어렵습니다. – calumbrodie

답변

1

당신의 HTML 출력을 확인/또는 웹 개발자 또는 불을 지르고와 테이블을 보면/ 있을 수 있습니다 그것은 처음부터 었소 클래스/그런

경우 상황의 밤은; 스타일 시트 링크를 ascx에 넣기/

관련 문제