На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (2) [1] 2  все  ( Перейти к последнему сообщению )  
> Рендер updatepanel'ей
    Сильно не надеясь все же спрошу: есть ли возможность указать как будет рендериться updatepanel, может есть какой шаблон html'я в который он отрисуется? Необходимо выводить панель не в <div></div>, а в <table>...</table>. Сейчас панель в код html вставляется следующее: <div>{таблица содержащая контент панели}</div>, эти дивы очень мешают делать простой дизайн в зоопарке разных браузеров и их версий.
      UpdatePanel может рендериться либо в div, лмбо в span. Управляется свойством UpdatePanel.RenderMode

      Честно, говоря, я не знаю как div вокруг table так сильно мешает верстке... Его все равно что нету...
      Сообщение отредактировано: Uncle_Bob -
        Цитата
        Честно, говоря, я не знаю как div вокруг table так сильно мешает верстке... Его все равно что нету...

        Мне нужно по высоте 100% выставить (т.е. панель имеет в себе таблицу 100%-100% внутри которой по середине отцентрованы другие элементы, а сама эта таблица раздвигает своими размерами другие элементы в том же контенере (в том же, где лежит <div> панели). Например Хром этот "оберточный" div не раздвигает по высоте (и контент внутри сжат получается)), разные браузер сильно по-разному это начинают отображать. А у меня этих панелей 3-4 штуки по вертикали (некоторые становятся visible=false; (на клиенте наверное display:none через JS)).
          По всей видимости, ты недостаточно хорошо знаком с css и как именно работает height:100%.
            по неведомому мне css я создал отдельную тему: DIV с height:100% (пример внутри)
              нашел немного времени поплотнее заняться сабжем, результат тут: http://social.msdn.microsoft.com/Forums/ru...eb-7a3f776eb848
                ужос :facepalm:
                  угу, я тоже никак не перестаю удивляться кривости, убогости и тормознутости asp.net, ужас - это еще слабо сказано
                    Сказанное относилось в основном к реализации :whistle:
                      нет, к языку, в реализации то все в рамках нормального кода. а вот язык который, как и большинство фраемворков, очень не любит самодеятельности и рассчитывает на использование только того что есть в нем (даже если это все кривое и недалекое) - это ужос
                        Кэп намекает, что какбэ твой код не вполне удачен :rolleyes:
                          Намеки кэпа совершенно бесполезны в виду отсутствия обсуждения и советов. Например в некоторых других конференциях этого сайта люди начинают свое "намекание" словами "неверно, потому что...", такие ответы называются обсуждение, в обсуждении можно узнать что неверное, как лучше было бы сделать, или как не делать, обменяться опытом. Ответы "это неверно" не несут информации.
                          Если тебе есть что сказать (а судя по началу темы - нечего), то так и скажи - "вот это сделано в коде неверно, потому что...", думаю что я или тот кто выйдет сюда через поиск найдут для себя полезного и сделают выводы.

                          Разумеется, что мой код можно использовать не только для табличной замены, но и для div с прописанным классом, заданным стилем


                          ЗЫ если есть регистрация на течнете - можно прям туда, там проходимость выше
                          Сообщение отредактировано: antonn -
                            Цитата antonn @
                            Разумеется, что мой код можно использовать не только для табличной замены, но и для div с прописанным классом, заданным стилем

                            разумеется, что нельзя, потому что table хардкодом прописан в коде, как впрочем, и CssClass

                            ExpandedWrap disabled
                              writer.AddAttribute(HtmlTextWriterAttribute.Class, "up");
                              ...
                              writer.RenderBeginTag("table");


                            Это все надо было вынести наружу в виде пропертей. Это раз...

                            Два, следовало-бы изучить код UpdatePanel, и если уж не разобраться, почему именно так, то хотя-бы сделать по образу и подобию
                            ExpandedWrap disabled
                              protected internal override void RenderChildren(HtmlTextWriter writer)
                              {
                                  if (this._asyncPostBackMode)
                                  {
                                      if (this._rendered)
                                      {
                                          return;
                                      }
                                      HtmlTextWriter htmlTextWriter = new HtmlTextWriter(new StringWriter(CultureInfo.CurrentCulture));
                                      base.RenderChildren(htmlTextWriter);
                                      PageRequestManager.EncodeString(writer, "updatePanel", this.ClientID, htmlTextWriter.InnerWriter.ToString());
                                  }
                                  else
                                  {
                                      writer.AddAttribute(HtmlTextWriterAttribute.Id, this.ClientID);
                                      if (this.RenderMode == UpdatePanelRenderMode.Block)
                                      {
                                          writer.RenderBeginTag(HtmlTextWriterTag.Div);
                                      }
                                      else
                                      {
                                          writer.RenderBeginTag(HtmlTextWriterTag.Span);
                                      }
                                      base.RenderChildren(writer);
                                      writer.RenderEndTag();
                                  }
                                  this._rendered = true;
                              }


                            Цитата antonn @
                            а судя по началу темы - нечего

                            я в бредовых темах редко вообще пишу
                            Сообщение отредактировано: Uncle_Bob -
                              Uncle_Bob
                              Цитата
                              разумеется, что нельзя, потому что table хардкодом прописан в коде, как впрочем, и CssClass

                              класс и тег я прописал для примера, так же как и некоторые св-ва для таблицы.
                              прописывать можно, не надо бояться что-либо делать самому, микрософт на каждый чих реализацию не сделает, нужно и самому уметь писать.
                              тем более что пользуясь отладчиком (например в студии 2012) хорошо видно какой html генерится, и видно что без моего перекрытия все тоже самое фраемворк делает для div.

                              Цитата
                              Это все надо было вынести наружу в виде пропертей. Это раз...

                              ясно, я так и думал что претензии чисто "оформительские". то, что класс не является законченным решением и лишь иллюстрация - это видимо было опущено

                              Добавлено
                              по крайней мере уже хорошо что для разговора потребовалось на другом форуме спросить соввета, получить его, реализовать "болванку", прийти сюда и тогда я получил соблаговоление услышать "как делать надо". без кода так вообще молчок :)
                                Цитата antonn @
                                ясно, я так и думал что претензии чисто "оформительские"

                                кусок кода оригинального UpdatePanel, ты видимо, предпочел не заметить

                                зато наследование от INamingContainer в свой класс скопировал :lool:

                                Да не, все нормально... Я тоже, когда свой первый контрол написал, думал, что безмерно крут :yes:
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0331 ]   [ 15 queries used ]   [ Generated: 19.05.24, 09:52 GMT ]