2011-04-14 5 views
0

jQuery를 사용하여 부분 뷰를 채우려면 어떻게해야합니까? 결과 : 링크를 클릭해도 아무런 변화가 없습니다.jQuery를 사용하여 부분 뷰를 채우려면 어떻게해야합니까?

<script type="text/javascript"> 
$(document).ready(function() { 
     $('.block').click(function() { 
      var id = this.id; 
      $.ajax({ 
       url: "/Link/Link", 
       data: { Letter: id }, 
       success: function (mydata) { 
        var dom = $(mydata); 
        $("#link").empty().append(dom); 
       }, 
       type: "POST" 
      }); 
      return false; 
     }); 
    }); 
</script> 

<a href="<%=Url.Action("Link",new {Letter="A"}) %>" id="A" class="block">A</a> 
<a href="<%=Url.Action("Link",new {Letter="B"}) %>" id="B" class="block">B</a> 

<div id="link"> 
    <% Html.RenderPartial("LinkUC", ViewData["Letter"]); %> 
</div> 

컨트롤러

public ActionResult Link(string Letter) 
{ 
    ViewData["Letter"] = LinkManagementRepository.GetAllOrganizationLinks(Letter); 

    return PartialView("LinkUC",ViewData["Letter"]); 
} 
+0

@mazher, 서버 ('mydata' 변수)가 반환 한 값을 확인 했습니까? 간단한 경고는 서버에서 올바른 html을 얻었는지 아닌지를 알려줍니다. – VinayC

+0

FireBug로 보셨습니까? –

+0

문제는 링크/링크가 호출되었지만 아무 것도 반환하지 않는다는 것입니다. – maztt

답변

0

무엇 LinkManagementRepository.GetAllOrganizationLinks (편지)? ViewData를 설정해야하지만 repostiroy 호출을 직접 반환해야한다고 생각하지 않습니다.

1

은 도대체 것은 이것이다 :

public ActionResult Link(string letter) 
{ 
    var model = LinkManagementRepository.GetAllOrganizationLinks(letter); 
    return PartialView("LinkUC", model); 
} 

ViewData 전염병 제거하십시오 : 대신 강력한 형식의 뷰를 사용하지 않는 이유는

return PartialView("LinkUC",ViewData["Letter"]); 

.

+0

몰라? 이것은 약하고 강한 유형보기의 대기업입니다. :) 이것은 그의 질문에 대한 대답이 아니지만 @mazhar에 대한 저의 +1은 그런 끔찍한 일을하지 않습니다. **이제까지**. –

0

.load을 사용해보십시오.

PartialViewResult을 반환하는 동작을 가리키면 응답의 HTML이 호출되는 래핑 된 집합에로드됩니다.

$('div#link).load('yourPartialViewResultAction', {Letter: id }, null);

관련 문제