ASP.net Core Razor Pages - 在代码隐藏中获取指定 div 的 HTML

Posted

技术标签:

【中文标题】ASP.net Core Razor Pages - 在代码隐藏中获取指定 div 的 HTML【英文标题】:ASP.net Core Razor Pages - Get HTML of a specified div in Code-Behind 【发布时间】:2021-08-25 08:22:44 【问题描述】:

我正在尝试在代码隐藏中获取页面上的指定 div,以使用 htmlToOpenXml 将 html 转换为 rtf。

在这个阶段,我有一个隐藏的 textarea/input 来将 html 保存到我可以在代码隐藏中使用的请求中。但无论哪种方式,使用 javascript 设置 textarea/input 内的文本都会设置一些奇怪的空格,这些空格也会转换为 OpenXML。

所以基本上我想知道如何在代码隐藏中获取特定 div-Tag 的内容,以便转换器可以使用 html。

对于每个想知道我为什么需要它的人:我使用TinyMCE 为用户生成文档的基本设计,其中包含带有下拉列表和输入的句子列表,这些将在使用该工具时填充。这些条目被粘贴到 div 中,并应在下载时呈现为文本,而不是下拉列表或输入。

提前致谢。

【问题讨论】:

【参考方案1】:

你可以通过$("#divname").get(0).outerHTML;获取具体的html,然后发布到服务器端:

<div id="thisdiv">   //will get div by this id
    <div>Hello</div>
</div>
<input type="button" id="btn1" value="Send" onclick="SendDiv()" />

@section Scripts

<script>
    function SendDiv() 
        var divhtml = $("#thisdiv").get(0).outerHTML;
        $.ajax(
            url: "your path",
            data:  mydiv: divhtml ,
            method: 'POST'
        );
    
</script>

结果:

【讨论】:

以上是关于ASP.net Core Razor Pages - 在代码隐藏中获取指定 div 的 HTML的主要内容,如果未能解决你的问题,请参考以下文章

带有 id 的 asp.net core 2 razor pages 路由

如何正确重定向到 ASP.NET Core Razor Pages 中的同一页面?

我无法在 asp.net core 2.0 razor pages 中执行下载操作

在 ASP.net core 3.1 Razor Pages 中打印 PDF

Asp .Net Core 2.2 Razor Pages Ajax Call Post 不工作

为啥 Razor Pages 是在 Asp.net Core 中创建 Web UI 的推荐方法?