2013-03-08 3 views
0

У меня есть флажок asp.net с автоповтором, установленным на true внутри панели обновления. Когда я устанавливаю флажок, он показывает другие элементы управления, которые я хочу показать. Когда я снимаю флажок, обновляется значение в базе данных. Все это прекрасно работает.ASP.Net флажок внутри панели обновления

Если я хочу перейти на другую страницу после снятия флажка, появится диалоговое окно, в котором спрашивается, хочу ли я остаться на этой странице или оставить страницу. Как я могу остановить это диалоговое окно?

<asp:UpdatePanel runat="server" ID="upOnProbation" UpdateMode="Conditional"> 
     <ContentTemplate> 
      <div> 
       <table> 
        <tr> 
         <td> 
          <asp:CheckBox runat="server" Text="On Probation" ID="chkOnProbation" AutoPostBack="true" ClientIDMode="AutoID" /> 
         </td> 
        </tr> 
        <asp:PlaceHolder runat="server" ID="plcProbabtionDates" Visible="false"> 
         <tr> 
          <td> 
           Start date 
          </td> 
          <td> 
           <ComponentArt:Calendar runat="server" ID="dtStart" ControlType="Picker" PickerFormat="Short"> 
           </ComponentArt:Calendar> 
          </td> 
         </tr> 
         <tr> 
          <td> 
           End date 
          </td> 
          <td> 
           <ComponentArt:Calendar runat="server" ID="dtEnd" ControlType="Picker" PickerFormat="Short"> 
           </ComponentArt:Calendar> 
          </td> 
         </tr> 
         <tr> 
         <td> 
          <asp:Button runat="server" ID="btnSave" Text="Save" CssClass="btn" /> 
         </td> 
        </tr> 
        </asp:PlaceHolder>     
       </table> 
      </div> 
     </ContentTemplate> 

    </asp:UpdatePanel> 




Protected Sub chkOnProbation_CheckedChanged(sender As Object, e As System.EventArgs) Handles chkOnProbation.CheckedChanged 
     If chkOnProbation.Checked Then 
      plcProbabtionDates.Visible = True 
      dtStart.SelectedDate = DateTime.Now 
      dtEnd.SelectedDate = DateTime.Now.AddMonths(6) 
     Else 
      plcProbabtionDates.Visible = False 
      objCompany.On_Probation = False 
      objCompany.Save(UserStaffID) 
     End If 
    End Sub 

ответ

0

Check this previous answer для объяснения причин, почему это происходит.

В основном, если у вас есть форма на веб-странице, браузер запустит событие onbeeforeunload, чтобы убедиться, что учитываются несохраненные изменения.

Ответ на предыдущие состояния вопроса, что вы можете избежать этого, установив обработчик null

window.onbeforeunload = null; 
Смежные вопросы