Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > ASP > перегрузка страницы


Автор: Lyova 9.7.2009, 21:27
Здаврствуйте.

такой вопрос: 

делаю контрол с поддержкой клиентского сценария, который будет вызывать PostBack.

контрол находится в UpdatePanel что по идее не должно вызывать перегрузку страницы, но она происходит.

код которым создаю строку обратной отправки и передаю контролу

  
Код

public IEnumerable<scriptDescriptor> GetScriptDescriptors()
  {
    ScriptControlDescriptor sd = new ScriptControlDescriptor("RADMB.DinamicLoadModalPopap", pDinamicLoadModalPopap.ClientID);
     sd.AddProperty("_doPostBack", cs.GetPostBackEventReference(GetPostBackOptions()));
    return new ScriptDescriptor[] { sd };
  }

public PostBackOptions GetPostBackOptions()
  {
    PostBackOptions p = new PostBackOptions(this);
    return p;
  }


почему страница обновляется ?

Автор: Lyova 10.7.2009, 02:14
наверно я не понятно написал свой вопрос.
сформулирую по другому 
к примеру мне нужно создать контрол MyButton с собитием Click

и когда возникает событие Click, перегружается вся страница

Код

 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
      <ContentTemplate>
         <cc1:MyButton ID="Button1" runat="server" Text="Button" />
      </ContentTemplate>
    </asp:UpdatePanel>




Код

 <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
      <ContentTemplate>
         <cc1:MyButton ID="Button1" runat="server" Text="Button" />
      </ContentTemplate>
      <Triggers>
        <asp:AsyncPostBackTrigger ControlID="Button1" EventName="Click" />
      </Triggers>
    </asp:UpdatePanel>


что нужно   MyButton  чтобы не создавать   Triggers ? 

Автор: insaneghost 10.7.2009, 12:02
Зачем кнопка внутри апдейт-панели? Ведь туда надо класть тот компонент, который будет обновляться...

НАсколько я понял, вы хотите, чтобы перегружалась только определенный компонент, а не вся страница, так?

чему равен EnableEventValidation? прописан ли он вообще? Чему присовен AutoPostBack у перегружаемого компонента? И почему вас не устраивают триггеры?

Автор: Lyova 13.7.2009, 14:03
мне нужно было сделать контрол который вызывает постбек и он находится в updatepanel, но вызывал перегрузку всей страницы чего не должно было быть. 

Всё оказалось очень просто, когда я получал страку для POSTBACK ( cs.GetPostBackEventReference(GetPostBackOptions()) ) был неправильный id вызываемого контрола. так что всем спасибо уже все работает.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)