2011-04-01 2 views
0

ASP .NET 응용 프로그램에서 GridView, ObjectDataSource으로 발생하는 상황에 대한 질문이 있습니다.Visual Studio에서 GridView 저장 데이터 빌드를 빌드하지 못하도록하는 방법

GridViewObjectDataSource에 연결된 두 사용자가 데이터를 입력으로 더 열을 얻을 수 있도록 동일한 페이지의 형태에서 비동기 방식으로 채울의 GridView를 알리는 UpdatePanel 내에 포함된다 :

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
</asp:ScriptManager>  
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
      DataSourceID="ObjectDataSource1"> 
      <Columns> 
       <asp:BoundField DataField="Name" HeaderText="Name" ReadOnly="True" 
        SortExpression="Name" /> 
       <asp:BoundField DataField="Periodicty" HeaderText="Periodicty" ReadOnly="True" 
        SortExpression="Periodicty" /> 
      </Columns> 
     </asp:GridView> 
     <asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
      SelectMethod="GetSessionNames" TypeName="Simulation"></asp:ObjectDataSource> 
     <asp:Label ID="Label27" runat="server" Text="Label"></asp:Label> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="NewWebSessionButton" EventName="Click" /> 
    </Triggers> 
</asp:UpdatePanel> 

Visual Studio 2008로 프로젝트를 시작하고 양식을 작성하면 올바르게 작동합니다. 그런 다음 실행을 중지합니다. 다시 실행하고 이전 실행에서 입력 한 데이터는 GridView입니다. 어떤 종류의 캐시가 이전에 세션에서 데이터를 저장 한 것과 같습니다. ObjectDataSource에 대해 EnableCaching 속성이 false로 설정되어 있는지 확인했습니다.

Visual Studio (Build가 아닌)에서 웹 사이트를 다시 작성하면 GridView이 비어있는 상태로 정확하게 작동합니다.

Visual Studio가 원인일까요? 그것을 끌 수 있습니까? 그리고 마지막으로 실행되는 IIS에서 실행됩니까?

대단히 감사합니다.

답변

1

브라우저에서 페이지를 캐싱했는지 확인 했습니까? 나는 이것과 관련된 비슷한 이슈를 가지고있다.

캐싱중인 페이지를 중지하기 위해 기본 페이지에 약간의 메소드를 추가하는 작업이 종료되었습니다.

예 :

/// <summary> 
/// Set the page to not Cache 
/// </summary> 
protected void DontCache() 
{ 
    try 
    { 
     //Dont Cache 
     Response.Expires = 0; 
     Response.Cache.SetNoStore(); 
     Response.AppendHeader("Pragma", "no-cache"); 
    } 
    catch (Exception) 
    { 
     throw; 
    } 
} 
관련 문제