2013-03-15 3 views
0

뷰 내에서 라디오 버튼 선택을 통해 토글 된 3 개의 부분 뷰가 있습니다. 각 부분보기에는 자체 제출 입력이 있으며 두 개의 부분보기에는 tinyMCE 텍스트 영역이 있습니다. tinyMCE 텍스트 영역을 포함하는 부분이 하나 밖에 없었을 때 .triggerSave()를 사용하여 유효성을 검사 할 수 있었지만 이제는 두 번째 tinyMCE 텍스트 영역을 추가 했으므로 tinyMCE 텍스트 영역 중 하나를 전달할 수 없습니다 확인.MVC3에서 유효성 검사를 위해 tinyMCE 텍스트 영역을 가져올 수 없습니다.

나는 비슷한 질문에 이미 많은 해결책을 시도했지만,이 텍스트 영역을 검증에 통과 시키는데 성공하지 못했습니다. 여기

 public ActionResult _AddSchemaRow(int id) 
    { 
     SchemaRow schemaRow = new SchemaRow(); 
     schemaRow.DatabaseSchemaID = id; 
     schemaRow.SchemaIndex = DatabaseSchema.GetSchemaHeadersByDatabaseSchemaID(id).Count() + 1; 
     return PartialView(schemaRow); 
    } 

는 컨트롤러이다

<script type="text/javascript"> 
$(document).ready(function() { 
    tinyMCE.init({ 
     mode: "specific_textareas", 
     editor_selector: "mceEditorForAddRow", 
     theme: "simple", 
     width: "500", 
     height: "300" 
    }); 
}); 

여기
@using(Html.BeginForm("_AddSchemaRow","Database_Schema") 
{ 
@Html.ValidationSummary(true) 
    <script type="text/javascript"> 
    $("#CreateRow").click(function() { 
     tinyMCE.triggerSave(); 
    }); 
</script> 
<table> 
.... 
.... 
      <tr> 
      <td> 
       @Html.LabelFor(model => model.SchemaElement) 
      </td> 
      <td> 
       @Html.TextAreaFor(model => model.SchemaElement, new { @class = "mceEditorForAddRow" }) 
       @Html.ValidationMessageFor(model => model.SchemaElement) 
      </td> 
     </tr> 
.... 
.... 
</table> 
<p> 
     <input id="CreateRow" type="submit" value="Create" /> 
    </p> 
} 

이 제 1 부분에 대한 콘트롤의 동작이다 : 여기

은 제 1 부분에 TinyMCE에 관련된 코드 이 첫 번째 부분에 대한 POST 작업 :

두 번째 부분은 "CreateSchemaHeader"인 제출 입력 ID를 비롯한 모든 해당 필드에서 "SchemaRow"대신 "SchemaHeader"를 포함한다는 점을 제외하고 위의 첫 번째 부분과 동일하게 설정됩니다. 나는 예제 코드가 내 문제에 대한 충분한 설명을 제공해야한다고 생각한다. 필요한 경우 다른 부분 코드를 추가 할 수 있습니다. 솔루션을 찾는 데 도움을 주셔서 미리 감사드립니다.

답변

0

나는 그것을 마침내 알 수있었습니다. 해결 방법은 입력 후 클릭 기능을 추가하여 포스트 백을 발생시키는 입력을 추가하는 것이 었습니다.

예 :

<p> 
    <input id="CreateRow" type="submit" value="Create" /> 
</p> 
    <script type="text/javascript"> 
     $("#CreateRow").click(function() { 
      tinyMCE.triggerSave(); 
     }); 
    </script> 
관련 문제