2012-05-21 4 views
0

GridView를 둘러싸 기 위해 UpdatePanel을 추가했으며 UpdatePanel 외부에있는 두 개의 트리거를 제공합니다. 비동기 적으로 새로 고침 GridView 트리거하려면 단추 클릭 이벤트를 가져올 수 없습니다.ASP.NET UpdatePanel이 작동하지 않습니다.

은 내가 F5 페이지 새로 고침 (A 텍스트 필드를 통해 제출) 새로운 데이터를 보여주기 때문에 데이터 소스가 업데이트되는 확신

나는 또한 프로그램 파일 뒤에 코드에서 UpdatePanel를 업데이트 해봤 (UpdatePanel1.Update();) 그러나 그것은 그것도하지 않습니다.

<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" 
    CodeFile="GamePage.aspx.cs" Inherits="GamePage" %> 

<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> 
</asp:Content> 
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="Server"> 
    <asp:ScriptManager ID="ScriptManager1" runat="server"> 
    </asp:ScriptManager> 
    <span id="userGuess"> 
     <asp:Label ID="gameStatusLabel" runat="server" CssClass="guesses" Text="15"> 
     </asp:Label> 
     <asp:Label ID="guessLabel" runat="server" Text="Enter your guess:" 
      CssClass="guessLabel"></asp:Label> 
     <asp:TextBox ID="GuessTxtBx" runat="server" MaxLength="4"></asp:TextBox> 
     <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" 
      ControlToValidate="GuessTxtBx" 
      ErrorMessage="Don't forget to guess!" CssClass="error" Visible="True" 
      Display="Dynamic"></asp:RequiredFieldValidator> 
     <asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" 
      ControlToValidate="GuessTxtBx" 
      ErrorMessage="Your guess must be a four digit number" 
      ValidationExpression="\d{4}" 
      CssClass="error" Visible="True" Display="Dynamic"></asp:RegularExpressionValidator> 
     <span class="guessBtns"> 
      <asp:Button ID="SubmitBtn" runat="server" OnClick="SubmitBtn_Click" 
       Text="Submit Guess"/> 
      <asp:Button ID="newGameButton" runat="server" OnClick="newGameButton_Click" 
       Text="New Game" /></span> 
    </span> 
    <div> 
     The game history:<br /> 
     <br /> 
     <asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="false" 
       UpdateMode="Conditional"> 
      <ContentTemplate> 
       <asp:GridView ID="TurnGridView" runat="server" AutoGenerateColumns="False" 
        DataKeyNames="turnID" 
        DataSourceID="TurnsDataSource1" Height="133px" Width="446px" 
         CssClass="table3"> 
        <Columns> 
         <asp:BoundField DataField="turnID" HeaderText="turnID" 
          InsertVisible="False" ReadOnly="True" 
          SortExpression="turnID" Visible="False" /> 
         <asp:BoundField DataField="gameID" HeaderText="gameID" 
          SortExpression="gameID" Visible="False" /> 
         <asp:BoundField DataField="guess" HeaderText="Your Guess" 
          SortExpression="guess" /> 
         <asp:BoundField DataField="responseBulls" HeaderText="Bulls" 
          SortExpression="responseBulls" /> 
         <asp:BoundField DataField="responseCows" HeaderText="Cows" 
          SortExpression="responseCows" /> 
        </Columns> 
       </asp:GridView> 
       <asp:ObjectDataSource ID="TurnsDataSource1" runat="server" 
        SelectMethod="GetTurnsByGameID" 
        TypeName="BusinessTier.Turn" 
        OldValuesParameterFormatString="original_{0}" 
        onselecting="TurnsDataSource1_Selecting"> 
        <SelectParameters> 
         <asp:Parameter Name="gameID" Type="Int32" /> 
        </SelectParameters> 
       </asp:ObjectDataSource> 
      </ContentTemplate> 
      <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="SubmitBtn" EventName="Click"/> 
       <asp:AsyncPostBackTrigger ControlID="newGameButton" EventName="Click" /> 
      </Triggers> 
     </asp:UpdatePanel> 
    </div> 
</asp:Content> 
+0

이것이 도움이되는지 확인하십시오 : [다른 ContentTemplate에있는 컨트롤에 의한 UpdatePanel 업데이트 트리거] (http://stackoverflow.com/questions/417131/trigger-an-update-of-the- updatepanel-by-a-control-that-in-different-contentpl) – jadarnel27

+0

참고를위한 감사합니다 그러나 나는 아주 그것을 떨어져 당길 수 없었다. 요약하면; 나는 텍스트 상자에 이전 항목을 표시하는 GridView 있습니다. submitBtn이 Gridview의 데이터 소스로 전송되는 데이터와 Girdview의 비동기적인 업데이트를 모두 트리거하기를 원했습니다. 링크가 가능한 한 늦게 추가되었는지 확인하려면 텍스트 상자가 변경되었을 때 추가했습니다. 이것은 어떻게 든 여전히 작동하지 않습니다. 어쨌든 고마워요 – hippo30

+0

먼저 오류가 있는지 확인하십시오. 예 : 때로는 HTML 태그가 적절히 닫히지 않기 때문에 발생합니다. –

답변

1

당신은 아마 삼킨 서버 측 오류가 발생했습니다 :

여기 내 코드입니다. 오류 메시지를 보려면 가장 쉬운 방법은 AsyncPostBackTriggerPostBackTrigger으로 임시 교체하는 것입니다.

관련 문제