2011-01-28 5 views
0

예를 들어 일부 컨트롤을 부분 렌더링하고 싶습니다. 그녀의 내 코드 :asp mvc 2 부분 렌더링

여기
<script type="text/javascript"> 

     $("#datetime").datepicker({ dateFormat: 'dd.mm.yy', onSelect: function (dateText, inst) { 
      $.ajax({ 
       type: 'POST', 
       data: 
       { 
        datetime: dateText 
       }, 
       url: '<%= VirtualPathUtility.ToAbsolute("~/ExcelToHtml") %>', 
       async: true, 
       success: function (response) { $('#report').html(response) } 
      }); 
     } 
     }); 
</script> 
<div id="report"> 
</div> 

서버 코드 :

public PartialViewResult ExcelToHtml(DateTime datetime) { 
     ViewData["datetime"] = datetime; 
     return PartialView("ExcelToHtml"); 
    } 

지금, 내가 DIV (ID = 보고서)에, 내 일을보고 싶어,하지만 난 그것을 볼니까. 예를 들어, 내가 틀린 부분을 이해할 수 없습니까?

및 제어 ExcelToHtml.ascx :

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl" %> 

<% ViewData["datetime"].ToString(); %> 

답변

0

첫째, 난 그냥 ...

는 액션 이름과 동일 할 때 뷰 이름을 지정할 필요가 없습니다 것을 지적하고 싶었
public PartialViewResult ExcelToHtml(DateTime datetime) { 
    ViewData["datetime"] = datetime; 
    return PartialView(); 
} 

둘째, 당신의 메커니즘의 작동을 확인, 그냥 ... 아무것도 가진 부분 뷰에 자리를 넣어

<p>Hello World</p> 

"Hello World"가 div에로드 된 것을 볼 수 있다고 생각합니다.

이것은 오류가 발생할 가능성이 가장 높기 때문에 다음 단계로 넘어갑니다.보기의 코드를 공유 할 수 있습니까?

+0

안녕하세요

에 삽입 얻을 수 있는지 내가 생각 – eba

+0

작동 아마도 문제는 AJAX를 통해 반환되는 것이 아니라는 의미의 오류 일 가능성이 높습니다. – Fenton

0

내 제안은 반환해야하는 경우 datetime을 json으로 반환하는 것입니다.

하지만 시작하겠습니다.

  1. 날짜를 선택할 때 ExcelToHtml 메서드가 호출됩니까? 거기에 중단 점을 설정하려고 시도 했습니까?
  2. ExcelToHtml의 부분 뷰는 무엇입니까? 나는 당신이 $ .ajax의 성공 행사에서 무엇이든하려고하는 것을 보지 못한다. 여기서해야 할 일은 다음과 같습니다. $('#report').html(response);

이 참일 경우 에서 어떻게되는지 알려주세요.

$('#report').html(response) 

로 : 당신의 jQuery를 변화에서

+0

json을 사용할 수 있다는 것을 알고 있지만 메커니즘을 이해하고 싶습니다. – eba

0

$('#report').html(response.responseText) 

그리고 당신이 지금 실제 HTML을 반환하고 DIV