计算htmltextwwriter (c#)生成的html表的高度



我用c#生成了一个html页面。在HTML-Page中有很多元素。它们都有绝对位置

其中一个元素是表。该表表示一个保存双精度[]的对象。每个双精度值都是新行中的新单元格。

我遍历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以外的其他脚本语言不适用于我的解决方案。我只在必要时使用JavaScript

我认为javascript是答案,而不是c#。http://api.jquery.com/height/

在c#中不能计算高度。

相关内容

  • 没有找到相关文章

最新更新