Asp.net 避免在字符串中拆分HTML标记

Asp.net 避免在字符串中拆分HTML标记,asp.net,Asp.net,我在我的网站上有一个定制的新闻页面。问题是,如果从数据库返回的字符串超过400个字符,则添加“more”选项。将字符串拆分为400个字符后,有时可能意味着HTML标记可能被拆分为两半,或者HTML标记中包含的文本将被拆分,拆分时无法提供正确的外观 不管怎样,我是否有可能避免这种情况,或者我的做法完全错了 我目前正在使用文字控件来显示字符串,如果string.length>400,我将使用substring方法来获取要显示的前400个字符。 如果单击“更多”选项,我将显示完整字符串。在截断为400

我在我的网站上有一个定制的新闻页面。问题是,如果从数据库返回的字符串超过400个字符,则添加“more”选项。将字符串拆分为400个字符后,有时可能意味着HTML标记可能被拆分为两半,或者HTML标记中包含的文本将被拆分,拆分时无法提供正确的外观

不管怎样,我是否有可能避免这种情况,或者我的做法完全错了

我目前正在使用文字控件来显示字符串,如果string.length>400,我将使用substring方法来获取要显示的前400个字符。
如果单击“更多”选项,我将显示完整字符串。

在截断为400个字符之前,从摘要字符串中删除HTML内容

strContent = Regex.Replace(strContent, "<.*?>", "")

If strContent.Length > 400 Then
   strContent = strContent.Substring(0, 400)
   btnMore.Visibile = True
Else
   btnMore.Visibile = False
End If
这是显示简短摘要的最简洁的方式,可以防止标签打开时出现任何问题


有关如何脱衣的信息,请参阅此SO帖子:

Regex.Replace(htmlText,”,string.Empty);

我要做的是从内容中去掉HTML标记,然后将其截断为400个字符

strContent = Regex.Replace(strContent, "<.*?>", "")

If strContent.Length > 400 Then
   strContent = strContent.Substring(0, 400)
   btnMore.Visibile = True
Else
   btnMore.Visibile = False
End If
strContent=Regex.Replace(strContent,“,”)
如果strContent.Length>400,则
strContent=strContent.Substring(0400)
btnMore.Visibile=True
其他的
btnMore.Visibile=False
如果结束

您真的需要在摘要中保留html标记吗?不幸的是,我就是这样从数据库中检索它的,因为用户可以通过html文本编辑器向其中添加文章。但是对于如何不将其作为摘要的一部分,您还有其他建议吗?我建议删除html标记。我认为应该是
strContent.Substring(0400)
<代码>子字符串为零索引