Вычислить высоту HTML-таблицы, сгенерированной HtmlTextWriter (C #) - PullRequest
0 голосов
/ 29 сентября 2011

Я генерирую HTML-страницу из C #. В HTML-странице много элементов. Все они имеют абсолютную позицию.

Одним из этих элементов является таблица. Эта таблица представляет объект, который хранит double []. Каждое двойное значение - это новая ячейка в новой строке.

Я перебираю double [] и создаю свою таблицу:

for (int i = 0; i < dbl.Length; i++)
{
  htmlTextWriter.RenderBeginTag(HtmlTextWriterTag.Tr);
  htmlTextWriter.RenderBeginTag(HtmlTextWriterTag.Td);
  htmlTextWriter.Write(dbl[i]);
  htmlTextWriter.RenderEndTag(); // td
  htmlTextWriter.RenderEndTag(); // tr
}

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

Это означает, что мне нужно знать, сколько пикселей у этой таблицы.

Конечно, я знаю, сколько я генерирую ячеек, а также я знаю BorderSize, Padding, Margin и т. Д.

Но есть две проблемы. Во-первых, хотя я знаю FontSize, FontFamily, FontWeight, я не знаю, как включить эту информацию в математический расчет.

Во-вторых, я думаю, что в каждом браузере фактический размер также отличается. Я создал фиктивную таблицу и понял, что на одной высоте экрана у меня уже есть разница в одну ячейку между Opera и Firefox.

Так что я думаю, что в C # я могу только приблизить фактическую высоту?!

Следующая идея, которую я имею, - включить JavaScript в мой HTML. У меня нет опыта работы с JavaScript, но мой подход заключается в том, чтобы найти мои таблицы и прочитать их размер. Затем переберите все элементы и найдите все перекрытия.

Мои вопросы:

  • Верны ли мои соображения или я упускаю некоторые аспекты?
  • Правильные ли мои подходы (в C # я получу только приблизительный результат?!, JavaScript я не знаю, если это действительно возможно то, что я хочу сделать)
  • Есть ли другие возможности, которых я сейчас не вижу?

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

Ответы [ 2 ]

1 голос
/ 29 сентября 2011

Я думаю, что javascript - это ответ, а не c #.http://api.jquery.com/height/

0 голосов
/ 29 сентября 2011

Вы не можете рассчитать высоту в C #.Пожалуйста, используйте JavaScript для этого.

...