2015-02-06 3 views
1

У меня есть этот пример:ASP.NET UpdatePanel dosn't работу с Response.Write в Page_Load

<asp:ScriptManager ID="ScriptManager1" runat="server"> 
    </asp:ScriptManager> 
    <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
     <ContentTemplate> 
      <fieldset> 
       <legend>UpdatePanel</legend> 
       <asp:Label ID="Label1" runat="server" Text="Panel created."></asp:Label><br /> 
      </fieldset> 
     </ContentTemplate> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="Button1" /> 
     </Triggers> 
    </asp:UpdatePanel> 
    <asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="Button" /></div> 

protected void Page_Load(object sender, EventArgs e) 
{ 
    // doesn work with: 
    Response.Write("eg.");  
} 

protected void Button1_Click(object sender, EventArgs e) 
{ 
    Label1.Text = "Refreshed at " + DateTime.Now.ToString(); 
} 

Это прекрасно работает. Когда я нажимаю на Buttonобновления без обновления страницы, но если у меня есть Response.Write в событии Page_Load, когда я нажимаю кнопку UpdatePanel, это не работает, и мне нужен Page_Load.

Как я могу решить свою проблему? Благодарю.

+0

Что не работает, если у меня есть код в Page_Load Button1_Click dont work, потому что он связан с UpdatePanel –

+0

Даже в асинхронной обратной передаче страница проходит через весь [жизненный цикл] (https://msdn.microsoft.com/) en-us/library/ms178472 (v = vs.100) .aspx), включая этап «Загрузить». –

+0

Код, который не работает, является событием Button1_Click. –

ответ

4

Не используйте Response.Write() в вашей функции Page_Load, так как он сломает UpdatePanel.

Фактически, использование Response.Write() часто является плохим идеей, потому что вы не контролируете, где в DOM будет записан письменный контент. Вместо этого, если вам нужен простой отладочный вывод, используйте другие средства, такие как System.Diagnostics.Debug.WriteLine(). Или, если вам нужно добавить что-то в DOM, добавьте элемент управления, например Label, и манипулируйте им.

+0

Проблема решена, спасибо за ваше время и за всех, кто пытался мне помочь. –

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