Управление ASP. Net повторитель контроля выходной высоты - PullRequest
0 голосов
/ 09 июля 2009

В настоящее время я внедряю элемент управления RSS-фидером для веб-сайта. Я планирую разрешить отображение 10 элементов на главной странице с помощью элемента управления повторителем.

Мой вопрос: как мне предотвратить, чтобы высота элемента управления превышала определенный размер? Я не могу гарантировать, сколько контента будет предоставляться для каждого элемента RSS-канала.

Одним из вариантов, который я рассмотрел, является ограничение объема контента на элемент в качестве подстроки контента, но это все еще обеспечивает общий подход.

Есть ли способ определить, как далеко вниз страницы отображал элемент управления для каждого элемента управления на стороне сервера, и отказаться от дальнейшей привязки после достижения предела? Или лучший подход - всегда отображать 10 элементов, а затем при загрузке страницы проверять с помощью javascript, сколько места занимает каждый элемент в качестве промежуточного итога, и скрывать что-либо после ограничения?

Спасибо

Брайан.

Ответы [ 4 ]

3 голосов
/ 09 июля 2009

Добавьте тег div (или другой соответствующий элемент уровня блока, поскольку вы, возможно, уже используете что-то вроде 'table') в шаблонах Header и Footer элемента управления, и используйте css для стилизации высоты и переполнения этого элемента. .

0 голосов
/ 15 августа 2009

Я сделал это некоторое время назад - вы можете иметь прокручиваемый повторитель, используя следующий код (должен работать, насколько помните):

Всякий раз, когда вы связываете данные с сеткой, используйте следующий фрагмент кода, чтобы определить, превышает ли количество записей размер страницы, которую вы хотите сохранить:

Пример. Предположим, вы хотите ограничить размер страницы до 10, тогда

if (ds.Tables[0].Rows.Count > 10)
    myRepeater.Attributes["Style"] = "OVERFLOW-Y:auto;HEIGHT:200px;";
else
   myRepeater.Attributes["Style"] = "OVERFLOW-Y:auto;";

Вы должны настроить высоту в соответствии с тем, что лучше всего подходит для пользовательского интерфейса.

0 голосов
/ 09 июля 2009

Я бы определенно выбрал вариант javascript из двух; что-то еще было бы слишком громоздким (решения, которые я могу придумать, могли бы на самом деле отслеживать высоту и ширину каждого символа для конкретного шрифта и вручную выполнять целый набор символов с помощью расчетов символов) другое решение было бы посмотреть на содержащий div с переполнением: hidden

0 голосов
/ 09 июля 2009

Невозможно сказать, какая высота будет на стороне сервера. Все браузеры отображают вещи немного по-разному. Лучше всего, как вы уже предложили, это использовать JavaScript. Вопрос в том, почему высота так важна. Я спрашиваю, потому что обычно веб-страницы растут в высоту, и это хорошо понимают пользователи, и они привыкли использовать вертикальную полосу прокрутки. Горизонтальная полоса прокрутки в веб-среде выглядит неопрятной и нелогичной.

...