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>
이것이 도움이되는지 확인하십시오 : [다른 ContentTemplate에있는 컨트롤에 의한 UpdatePanel 업데이트 트리거] (http://stackoverflow.com/questions/417131/trigger-an-update-of-the- updatepanel-by-a-control-that-in-different-contentpl) – jadarnel27
참고를위한 감사합니다 그러나 나는 아주 그것을 떨어져 당길 수 없었다. 요약하면; 나는 텍스트 상자에 이전 항목을 표시하는 GridView 있습니다. submitBtn이 Gridview의 데이터 소스로 전송되는 데이터와 Girdview의 비동기적인 업데이트를 모두 트리거하기를 원했습니다. 링크가 가능한 한 늦게 추가되었는지 확인하려면 텍스트 상자가 변경되었을 때 추가했습니다. 이것은 어떻게 든 여전히 작동하지 않습니다. 어쨌든 고마워요 – hippo30
먼저 오류가 있는지 확인하십시오. 예 : 때로는 HTML 태그가 적절히 닫히지 않기 때문에 발생합니다. –