以下は私の ASPX コードです。
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager1" runat="server"></asp:ScriptManager>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<asp:UpdatePanel UpdateMode="Conditional" ID="UpdatePanel1" runat="server">
<ContentTemplate>
<asp:Label ID="lblid" runat="server" Text="Label"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
<asp:Button ID="btnid" runat="server" Text="Button"/>
</div>
</form>
1 つの更新パネル コントロールがあり、更新パネル コントロール内に単一のラベル コントロールが含まれています。更新パネル コントロールの外に Button と Lable があり、page_load 中に次のように両方の lable コントロールのテキスト値を更新します。
protected void Page_Load(object sender, EventArgs e)
{
lblid.Text = DateTime.Now.ToString();
Label1.Text = DateTime.Now.ToString();
}
Update mode プロパティを「Conditional」に設定して、Update パネルの外側の Button コントロールがユーザーによってクリックされたときに、ipdate パネル内の lable のテキスト値を変更しないようにしました。ただし、更新パネル内のラベル テキストの変更された値を更新して表示します。私の理解では、更新モード プロパティを「条件付き」に設定すると、更新パネルの外側のコントロールによるポストバックがある場合、更新パネル内のコンテンツは更新されません (またはクライアント側でレンダリングされます)。