2011-04-07 2 views
1

현재 왼쪽 열에 트리 뷰를 표시하고 있습니다. 사용자가 노드를 선택하면 오른쪽 열 #details를 ajax 호출의 응답으로로드합니다. 이것은 잘 작동합니다.MVC 3 면도기의 마스터 - 디테일 샘플 코드 (자세한 내용은 Ajax 사용) - 제 2 부

이제 아약스를 통해 오른쪽 열 #details를 제출하고 싶습니다. 나는 서버에 다시 게시물을 캡처 할 수 있지만 문자열을 반환하면 #details 섹션에 '성공적으로 저장된'문자열이있는 전체 페이지가로드됩니다.

문자열 'saved successfully'가 정말로 필요합니다. 오른쪽 열의 div 요소에 배치됩니다.

이것은 다시 (나는 제 Ajax 응답을 반환 할) 다른 AJAX 반응을 수행하여 Ajax 응답이다.

이것이 가능합니까?

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script> 

그렇지 않으면 :

내 편집 양식을 사용하면 Ajax.* 헬퍼를 사용하려는 경우 당신은 당신의 페이지에 다음 스크립트를 포함했는지 확인하십시오 다음

@using (Ajax.BeginForm("Edit", new AjaxOptions { UpdateTargetId = "#results" })) { 


@Html.ValidationSummary(true) 

if (Model != null) {  
    <fieldset> 
    <legend>Code</legend> 

    @Html.HiddenFor(model => model.CodeID) 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.Description) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.Description) 
     @Html.ValidationMessageFor(model => model.Description) 
    </div> 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.Note) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.Note) 
     @Html.ValidationMessageFor(model => model.Note) 
    </div> 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.DateModified) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.DateModified) 
     @Html.ValidationMessageFor(model => model.DateModified) 
    </div> 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.TopicID) 
    </div> 
    <div class="editor-field"> 
     @Html.DropDownListFor(model => model.TopicID, (SelectList)ViewData["Topics"], "Select") 
     @Html.ValidationMessageFor(model => model.TopicID) 
    </div> 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.Special) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.Special) 
     @Html.ValidationMessageFor(model => model.Special) 
    </div> 

    <div class="editor-label"> 
     @Html.LabelFor(model => model.Html) 
    </div> 
    <div class="editor-field"> 
     @Html.EditorFor(model => model.Html) 
     @Html.ValidationMessageFor(model => model.Html) 
    </div> 

    <p> 
     <input type="submit" value="Save" /> 
    </p> 
</fieldset> 
} 


} 


<div> 
    @Html.ActionLink("Back to List", "Index") 
</div> 

<div id="results"> 
    Status 
</div> 
+0

가와, 그럼 난 [이 그것입니다] 생각 (http://stackoverflow.com/q/5532568/75500). – Shimmy

답변

1

처럼 보인다 여기에는 Ajax. * 도우미와 AJAXify this form =에 의해 생성 된 HTML5 데이터 - * 속성을 이해할 수있는 정보가 없습니다. 양식은 정상적인 제출을 수행하고 결과를 렌더링합니다. 1 부이 어디 있는지 궁금 있다면

+0

은 Ajax.BeginForm 및 Ajax.ActionLink를 사용하기 위해 MicrosoftAjax.js를 페이지에 포함 할 필요가 없다는 뜻입니까? –

+1

@Muhammad Adeel Zahid, ASP.NET MVC 3 jQuery는 기본 클라이언트 측 프레임 워크입니다. MicrosoftAjax * 스크립트가 더 이상 필요 없습니다. 사용되지 않는 라이브러리와 사용되지 않는 라이브러리에 대한 모든 참조를 행복하게 삭제할 수 있습니다. –

+0

@ 많은 사람에게 감사합니다 –

관련 문제