none
asp:UpdateProgress - динамическое изменение текста контрола, содержащегося в updateprogress RRS feed

  • Вопрос

  • Добрый день,

    есть код:

      <asp:UpdatePanel ID="panel" runat="server" ChildrenAsTriggers="true" UpdateMode=Always>
          <ContentTemplate> 
            <asp:Button ID="btn" runat="server" OnClick="click__"/>
          </ContentTemplate>
      </asp:UpdatePanel>
      <asp:UpdateProgress ID="panelProgress" runat="server" AssociatedUpdatePanelID="panel" DynamicLayout="true" >
        <ProgressTemplate>
          <asp:Button runat="server" ID="asd" Text="asdasd" />
      </ProgressTemplate>
    

    отображенеи updateprogress, происходит при нажатии кнопки "asd".

    Как сделать так? чтобы была возможность динамически менять текст кнопки("asd") (в зависимости от выполняемых действий в обработчике кнопки btn).

    23 июля 2011 г. 22:10

Ответы

  • Ок, не хотел писать свои соображения без уточнения. Мне сходу сложно представить, как сделать это с помощью страндартных контролов. Скорее всего, сделать это будет достаточно сложно.Ведь задача состоит в том, чтобы посылать асинхронные реквесты не на сервер, а с сервера в рамках длительного процесса. Я не так много видел реализаций, поэтому думаю, что задача не тривиальна.

    Как вариант, можно с какой-то частотой отправлять асинхронные запросы на сервер и проверять "статус", который будет как-то обновляться на сервере.

    • Помечено в качестве ответа Denis99 27 июля 2011 г. 17:02
    27 июля 2011 г. 8:36

Все ответы

  • А просто обратиться к кнопке по id и изменить ее текст не выходит? Т.е.

    btn.Text = "hello";
    

     


    Для связи [mail]
    25 июля 2011 г. 8:11
    Модератор
  • нет, так не работает
    26 июля 2011 г. 4:15
  • Попробуйте так, должно получиться

          Button button = panelProgress.FindControl("asd") as Button;
          if (button != null)
            button.Text = "hi there!";
    

     


    Для связи [mail]
    26 июля 2011 г. 8:57
    Модератор
  • >> отображенеи updateprogress, происходит при нажатии кнопки "asd".

    1) Точно asd, не btn?

    2) насколько я понял, вы хотите отображать в прогрес баре текущее состояние выполнения некого процесса, верно?

    26 июля 2011 г. 13:04
  • 1)ой, сори попутал, действительно, btn.

    2)да так и есть. уже написал реализацию через xmlhttprequest, но хотелось бы узнать как это сделать используя стандартные контролы

     

     

    26 июля 2011 г. 17:54
  • Попробуйте так, должно получиться

      Button button = panelProgress.FindControl("asd") as Button;
      if (button != null)
      button.Text = "hi there!";
    

     


    Для связи [mail]

    не работает, если смотреть в дебаге, то значение устанавливается, но не отображается

    26 июля 2011 г. 17:55
  • Ок, не хотел писать свои соображения без уточнения. Мне сходу сложно представить, как сделать это с помощью страндартных контролов. Скорее всего, сделать это будет достаточно сложно.Ведь задача состоит в том, чтобы посылать асинхронные реквесты не на сервер, а с сервера в рамках длительного процесса. Я не так много видел реализаций, поэтому думаю, что задача не тривиальна.

    Как вариант, можно с какой-то частотой отправлять асинхронные запросы на сервер и проверять "статус", который будет как-то обновляться на сервере.

    • Помечено в качестве ответа Denis99 27 июля 2011 г. 17:02
    27 июля 2011 г. 8:36
  • спасибо.
    27 июля 2011 г. 17:03