2014-04-09 1 views
1

ajax 요청을 통해 반환되는 부분보기의 div가있는 페이지가 있습니다.IE가 업데이트되지 않음 Asp.Net MVC3 부분보기

$.ajax({ 
     url: 'CompleteSessions', 
     success: function (data) { 

      var selector = $('#complete-session-section'); 
      if (data.length > 0) { 
       selector.html(data); 
      } 
      else { 
       selector.append($(document.createElement('option')).html('No assessments')); 
      } 
     } 
    }); 

부분보기 자체에는 모델이 있으며 반환 된 세션 수에 따라 콤보 박스가 구성됩니다.

@using SmartQWeb.Models.Entities 
@using SmartQWeb.Runtime; 
@model IEnumerable<Session> 


<span class="dropdown"> 
<select style="width: 75%" id = "complete-session-selector"> 
    <option id="-1">Select a Session</option> 
    @foreach (Session session in Model.OrderByDescending(date=>date.StartTime)) 
    { 
     if (session.Assessment != null) 
     { 
      <option id="@session.AssessmentId" value="@session.Id" title="Administered by: @session.User.Name" data-assessmentId="@session.AssessmentId">@session.Participant.AliasLookup.AliasId - @session.StartTime </option> 
     } 
    } 
</select> 


</span> 

문제는 IE의 경우에만 페이지가 처음로드 될 때 드롭 다운이 제대로 업데이트되지 않는다는 것입니다. 콤보 상자의 새 항목을 새로 고치려면 F5 키를 눌러야합니다. Chrome 또는 Firefox에서는 문제가되지 않습니다.

답변

3

jQuery ajax 요청의 'type'인수는 IE가 캐시 할 'GET'입니다. 이 문제를 방지하기 위해 Ajax 요청에서 캐싱을 비활성화하거나 'POST'로 전환 할 수 있습니다. -

$.ajax({ 
    ... 
    cache: false 
});