0

我从 C# 生成一个 HTML 页面。在 HTML 页面中有很多元素。他们都有一个绝对的位置。

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

我遍历 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# 中我只能近似实际高度?!

我的下一个想法是在我的 HTML 中包含一个 JavaScript。我没有使用 JavaScript 的经验,但我的方法是找到我的表格并读出大小。然后遍历所有元素并找到所有重叠。

我的问题是:

  • 我的考虑是真的还是我错过了某些方面?
  • 我的方法是正确的吗(在 C# 中我只会得到一个近似的结果?!,JavaScript 我不知道我是否真的可以做我想做的事)
  • 还有其他我现在看不到的可能性吗?

提示:除 JavaSript 之外的其他脚本语言不适用于我的解决方案。JavaScript 我只在真正需要时使用。

4

2 回答 2

1

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

于 2011-09-29T08:39:42.743 回答
-1

您无法在 C# 中计算高度。请使用 javascript 来执行此操作。

于 2011-09-29T08:39:21.757 回答