C# 暂时隐藏部分文本,在用户单击某些元素后显示

C# 暂时隐藏部分文本,在用户单击某些元素后显示,c#,text,htmlelements,C#,Text,Htmlelements,我正在制作一个关于某些项目的详细页面。 此详细信息页面可能包含大量文本,客户只希望显示前100个字母,然后在末尾添加“…更多” 当用户单击此“…更多”时,可以显示文本的其余部分 最大的问题:目前的文本是CMS,并且有很大的品种。有些是纯文本,有些包含html元素 我试着把课文剪下来,把它们分成几段。然后我可以根据自己的喜好显示/隐藏这些跨距。这里的问题是,在第一个跨度中可能有某个标记的起始元素,而结束元素可能在第二个跨度中。这会导致DOM层次结构出现错误,并且结果永远不会很好 是否有人知道实现这

我正在制作一个关于某些项目的详细页面。 此详细信息页面可能包含大量文本,客户只希望显示前100个字母,然后在末尾添加“…更多”

当用户单击此“…更多”时,可以显示文本的其余部分

最大的问题:目前的文本是CMS,并且有很大的品种。有些是纯文本,有些包含html元素

我试着把课文剪下来,把它们分成几段。然后我可以根据自己的喜好显示/隐藏这些跨距。这里的问题是,在第一个跨度中可能有某个标记的起始元素,而结束元素可能在第二个跨度中。这会导致DOM层次结构出现错误,并且结果永远不会很好

是否有人知道实现这一点的(其他)方法或我可以使用的库?

为了能够提取“可读”字符,您需要将内容转换为纯文本格式(去除标记)

由于内容存储在cms中,因此内容的结构很可能是格式良好的——因此是xhtml。 如果是这种情况,您可以将内容视为XML。获取根节点并获取其innertext属性。然后你将有纯文本-没有标签-并可以很容易地削减后,第一个100个字符或任何要求它

希望内容不包含js/css

编辑: 似乎必须保留标记。 尝试使用以下xsl转换和截断内容:

文本是否真的需要剪切,还是只是显示问题?如果是第二种情况,那么为什么不将文本放在一个文件中并配置溢出,以便不显示其余的文本,然后添加一个“更多…”链接以扩展div?是否需要根据其中包含的信息量或屏幕上使用的不动产显示100个字符?这会有相同的问题之一。假设第一个元素中有一个元素,但第二个元素中有一个元素。这是行不通的。(如果文本中没有html元素就可以了)@NicoE这是一个随机值是的,但是我会丢失粗体线条和段落之类的标记,对吗?这是不可接受的,我恐怕我已经编辑了答案,其中包含一些xsl代码的链接,您可以根据自己的需求构建这些代码来解决问题