已编辑 我重新表述了这个问题,因为它被标记为太宽泛。
我正在使用 razor 引擎创建强类型电子邮件模板,并且我想在生成的 HTML 中查找特定表格单元格的高度。
我正在生成这样的 HTML
var templateService = new TemplateService();
var emailHtmlBody = templateService.Parse(File.ReadAllText(template.TemplateFilePath), template, null, null);
这会创建一个 html 字符串,是否可以使用 mvc 或 razor 引擎确定特定 html 元素的高度(动态),或者我是否需要使用渲染引擎首先渲染 html,然后再渲染使用 JavaScript 查询等技术来获取值。
我在 WCF 应用程序中运行它,因此渲染引擎需要是 headless 的 - 标准 .net 浏览器控件将无法工作。
我已经在第三方库方面取得了成功(请参阅我建议的答案),是否有更好的方法可以在不使用这些库的情况下实现此目的?
最佳答案
这取决于您实际使用高度的位置。如果页面需要它,您始终可以使用 JavaScript。实现此目的的一种方法是为您的表格提供 id 属性,并使用简单的 JavaScript 函数来确定该表格的高度。此函数可以驻留在布局页面的末尾。
<script>
var tableHeight = 0;
$( document ).ready(function() {
tableHeight = document.getElementById('tableId').style.offsetheight;
});
</script>
之后您可以在任何 javascript 代码中全局访问 tableHeight
。另一方面,如果您需要在服务器端代码上使用它,那么您需要将其分配给您在模型中托管的输入变量,并在 [HttpPost]
操作方法中检索它.
关于javascript - 确定 razor 生成 View 中 html 表的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35439961/