asp.net:确定;高度“;不使用客户端JavaScript的html

asp.net:确定;高度“;不使用客户端JavaScript的html,javascript,html,asp.net,vb.net,Javascript,Html,Asp.net,Vb.net,在Web应用程序.net 2.0中使用vb.net 我让用户输入多个文本位,然后我的应用程序将其合并到一个复杂的表中。然后,该表将通过电子邮件发送给多个用户。我需要知道结果表的高度。通过测试多个版本,我可以选择最短、最紧凑、空间最少的版本 感谢Andrew引导我在服务器上运行浏览器窗口,让JS将桌子高度返回给我。我已经找到了解决问题的方法:从我的html创建一个图像并测量其高度 使用来自的-出于我的目的-免费库,我创建了以下函数:feed html,get height of well rend

在Web应用程序.net 2.0中使用vb.net

我让用户输入多个文本位,然后我的应用程序将其合并到一个复杂的表中。然后,该表将通过电子邮件发送给多个用户。我需要知道结果表的高度。通过测试多个版本,我可以选择最短、最紧凑、空间最少的版本


感谢Andrew引导我在服务器上运行浏览器窗口,让JS将桌子高度返回给我。我已经找到了解决问题的方法:从我的html创建一个图像并测量其高度

使用来自的-出于我的目的-免费库,我创建了以下函数:feed html,get height of well rendered html:

函数getTableHeight(ByVal html作为字符串)作为整数
Dim_WebsitesScreenshot作为新的WebsitesScreenshot.WebsitesScreenshot()
Dim_结果为WebsitesScreenshot.WebsitesScreenshot.Result
使用WebsitesScreenshot
_结果=.CaptureHTML(html)
如果_Result=websitescreenshot.websitescreenshot.Result.capture,则
Return.GetImage.Height
ElseIf_Result=WebsitesScreenshot.WebsitesScreenshot.Result.Failed然后
响应。写入(“失败”)
返回0
ElseIf_Result=websitescreenshot.websitescreenshot.Result.Timeout然后
响应写入(“超时”)
返回0
如果结束
以
_WebsitesScreenshot.Dispose()

结束函数

在服务器上打开浏览器进程(并与服务器进程来回通信)是一种非常奇怪的方法。最简单的方法是在服务器上编写一些启发式算法,根据已填充的数据字段、每个字段中的数据量、行数等来检测最佳布局

否则,如果你让用户决定,你就不能隐藏那些非常高的选项吗?如果还没有,您可以使用客户端模板语言基于数据构建表,正如您所说的,只需检测高度即可


如果你想走服务器之路,你可以使用node.js和类似的东西,这比尝试处理另一个浏览器进程要容易,但我想说的是,这还是有些过分。

感谢Andrew指导我在服务器上运行浏览器窗口。我已经找到了解决问题的方法:从我的html创建一个图像并测量其高度。