javascript - 确定 razor 生成 View 中 html 表的大小

标签 javascript c# .net asp.net-mvc razor

已编辑 我重新表述了这个问题,因为它被标记为太宽泛。

我正在使用 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/

相关文章:

c# - 如何将异常标记为已记录(并且只记录一次)?

C# 从数组返回对象留下指向数组项的指针

javascript - 如何在javascript中获取隐藏元素的值

javascript - 重构的 JavaScript 在谷歌地图上不显示标记

c# - Visual Studio 2019 Community 工具箱没有 webbrowser 控件

javascript - 在有和没有更新面板的页面加载中运行功能

负载均衡系统的ASP.NET缓存解决方案

javascript - 尝试创建媒体播放器播放 soundcloud 中的歌曲..

javascript - 如何更改在 HTML 中显示所选单选按钮的指示器的颜色?

c# - 为什么 Calli 比委托(delegate)调用更快?