Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.216.110.157] |
|
Страницы: (2) [1] 2 все ( Перейти к последнему сообщению ) |
Сообщ.
#1
,
|
|
|
Сильно не надеясь все же спрошу: есть ли возможность указать как будет рендериться updatepanel, может есть какой шаблон html'я в который он отрисуется? Необходимо выводить панель не в <div></div>, а в <table>...</table>. Сейчас панель в код html вставляется следующее: <div>{таблица содержащая контент панели}</div>, эти дивы очень мешают делать простой дизайн в зоопарке разных браузеров и их версий.
|
Сообщ.
#2
,
|
|
|
UpdatePanel может рендериться либо в div, лмбо в span. Управляется свойством UpdatePanel.RenderMode
Честно, говоря, я не знаю как div вокруг table так сильно мешает верстке... Его все равно что нету... |
Сообщ.
#3
,
|
|
|
Цитата Честно, говоря, я не знаю как div вокруг table так сильно мешает верстке... Его все равно что нету... Мне нужно по высоте 100% выставить (т.е. панель имеет в себе таблицу 100%-100% внутри которой по середине отцентрованы другие элементы, а сама эта таблица раздвигает своими размерами другие элементы в том же контенере (в том же, где лежит <div> панели). Например Хром этот "оберточный" div не раздвигает по высоте (и контент внутри сжат получается)), разные браузер сильно по-разному это начинают отображать. А у меня этих панелей 3-4 штуки по вертикали (некоторые становятся visible=false; (на клиенте наверное display:none через JS)). |
Сообщ.
#4
,
|
|
|
По всей видимости, ты недостаточно хорошо знаком с css и как именно работает height:100%.
|
Сообщ.
#5
,
|
|
|
по неведомому мне css я создал отдельную тему: DIV с height:100% (пример внутри)
|
Сообщ.
#6
,
|
|
|
нашел немного времени поплотнее заняться сабжем, результат тут: http://social.msdn.microsoft.com/Forums/ru...eb-7a3f776eb848
|
Сообщ.
#7
,
|
|
|
ужос
|
Сообщ.
#8
,
|
|
|
угу, я тоже никак не перестаю удивляться кривости, убогости и тормознутости asp.net, ужас - это еще слабо сказано
|
Сообщ.
#9
,
|
|
|
Сказанное относилось в основном к реализации
|
Сообщ.
#10
,
|
|
|
нет, к языку, в реализации то все в рамках нормального кода. а вот язык который, как и большинство фраемворков, очень не любит самодеятельности и рассчитывает на использование только того что есть в нем (даже если это все кривое и недалекое) - это ужос
|
Сообщ.
#11
,
|
|
|
Кэп намекает, что какбэ твой код не вполне удачен
|
Сообщ.
#12
,
|
|
|
Намеки кэпа совершенно бесполезны в виду отсутствия обсуждения и советов. Например в некоторых других конференциях этого сайта люди начинают свое "намекание" словами "неверно, потому что...", такие ответы называются обсуждение, в обсуждении можно узнать что неверное, как лучше было бы сделать, или как не делать, обменяться опытом. Ответы "это неверно" не несут информации.
Если тебе есть что сказать (а судя по началу темы - нечего), то так и скажи - "вот это сделано в коде неверно, потому что...", думаю что я или тот кто выйдет сюда через поиск найдут для себя полезного и сделают выводы. Разумеется, что мой код можно использовать не только для табличной замены, но и для div с прописанным классом, заданным стилем ЗЫ если есть регистрация на течнете - можно прям туда, там проходимость выше |
Сообщ.
#13
,
|
|
|
Цитата antonn @ Разумеется, что мой код можно использовать не только для табличной замены, но и для div с прописанным классом, заданным стилем разумеется, что нельзя, потому что table хардкодом прописан в коде, как впрочем, и CssClass writer.AddAttribute(HtmlTextWriterAttribute.Class, "up"); ... writer.RenderBeginTag("table"); Это все надо было вынести наружу в виде пропертей. Это раз... Два, следовало-бы изучить код UpdatePanel, и если уж не разобраться, почему именно так, то хотя-бы сделать по образу и подобию 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 @ а судя по началу темы - нечего я в бредовых темах редко вообще пишу |
Сообщ.
#14
,
|
|
|
Uncle_Bob
Цитата разумеется, что нельзя, потому что table хардкодом прописан в коде, как впрочем, и CssClass класс и тег я прописал для примера, так же как и некоторые св-ва для таблицы. прописывать можно, не надо бояться что-либо делать самому, микрософт на каждый чих реализацию не сделает, нужно и самому уметь писать. тем более что пользуясь отладчиком (например в студии 2012) хорошо видно какой html генерится, и видно что без моего перекрытия все тоже самое фраемворк делает для div. Цитата Это все надо было вынести наружу в виде пропертей. Это раз... ясно, я так и думал что претензии чисто "оформительские". то, что класс не является законченным решением и лишь иллюстрация - это видимо было опущено Добавлено по крайней мере уже хорошо что для разговора потребовалось на другом форуме спросить соввета, получить его, реализовать "болванку", прийти сюда и тогда я получил соблаговоление услышать "как делать надо". без кода так вообще молчок |
Сообщ.
#15
,
|
|
|
Цитата antonn @ ясно, я так и думал что претензии чисто "оформительские" кусок кода оригинального UpdatePanel, ты видимо, предпочел не заметить зато наследование от INamingContainer в свой класс скопировал Да не, все нормально... Я тоже, когда свой первый контрол написал, думал, что безмерно крут |