2012-05-20 4 views
1

Ниже приведен мой код ASPX.Свойство режима обновления UpdatePanel

<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> 

У меня есть один элемент управления панелью управления и включает в себя управление одиночной матрицей внутри панели управления обновлением. У меня есть Button и Lable вне панели управления обновлением, а во время page_load я обновляю текстовое значение как элемента управления lable, так и следующим образом.

protected void Page_Load(object sender, EventArgs e) 
{ 
    lblid.Text = DateTime.Now.ToString(); 
    Label1.Text = DateTime.Now.ToString(); 
} 

Я установил обновление свойство режима в «Условный», так что, когда управление Кнопкой вне панели обновления нажато пользователем, он не должен изменить текстовое значение звукозаписывающей компании внутри ipdate панели. Но он обновляет и изменяет измененное значение текста меток внутри панели обновления. Я понимаю, что когда мы устанавливаем свойство режима обновления на «Условное», содержимое внутри панели обновлений не обновляется (или не изменяется на стороне клиента), когда есть обратная передача из-за контроля вне панели обновлений, что происходит в моем случае.

ответ

0

Если у вас есть только одна обновленная панель, это не имеет значения см. Этот пример, где это имеет смысл.
попробовать играть с второй UpdatePanel, изменяя его от Conditional Всегда
ASPX:

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
    </asp:ScriptManager> 
<div> 

    <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <ContentTemplate> 
      <asp:Label ID="lblid" runat="server" Text="Label"></asp:Label> 
      <asp:Button ID="btnid" runat="server" Text="Button" /> 
     </ContentTemplate> 
    </asp:UpdatePanel> 

    <asp:UpdatePanel UpdateMode="Conditional" ID="UpdatePanel2" runat="server"> 
     <ContentTemplate> 
      <asp:Label ID="Label2" runat="server" Text="Label"></asp:Label>    
     </ContentTemplate> 
    </asp:UpdatePanel> 

</div> 

CS:

protected void Page_Load(object sender, EventArgs e) 
    { 
     lblid.Text = DateTime.Now.ToString(); 
     Label1.Text = DateTime.Now.ToString(); 
     Label2.Text = DateTime.Now.ToString(); 
    } 
3

При нажатии на кнопку за пределами UpdatePanel вызывает всю страницу Postback. UpdatePanel не может помешать обновлению содержимого внутри него в случае, когда целая страница отправляется обратно.

Смежные вопросы