如何防止 ASP.NET MVC 删除结束标记

How to prevent ASP.NET MVC from removing closing tags

提问人:JoeGeeky 提问时间:5/30/2016 更新时间:5/30/2016 访问量:228

问:

我在 ASP.NET MVC 项目(版本 5.2.3.0)中有一个格式良好的视图;或者至少 和 等标签都有结束标签。呈现时,将删除所有结束标记。我使用 Fiddler 和 PostMan 执行了原始捕获,在每种情况下,生成的标记都删除了结束标记。<p><li>

我认为这可能与XHTML一致性级别之类的东西有关,所以我更改了配置以设置严格的规则(例如),但这并没有解决问题。<xhtmlConformance mode="Strict"/>

如何配置 ASP.NET MVC 以停止自动剥离我的结束标记,在这种情况下,它是否损坏了其他进程?

对于上下文...我不打算遵循XHTML本身,我只需要一些选择视图来保持原样。有人可以帮忙吗?

C# asp.net ASP.NET-MVC XHTML

评论

1赞 NightOwl888 5/30/2016
将行为归咎于“MVC”并不是很有帮助。有许多不同的方法可以呈现 HTML。在这种情况下,您使用什么具体方法?哪些标签没有关闭(您只列出那些已关闭的标签)?请注意,可以使用 TagBuilder 创建自己的带有结束标记的 HTML 帮助程序(ToString 方法具有允许控制行为的重载)。或者,您可以将 HTML 元素及其结束标记放入视图中。
0赞 JoeGeeky 5/30/2016
好点子,让我澄清一下......我已经静态放置了已放入 View 文件的元素。布局仅限于 html、head 和 body 标记。身体内容物非常小,在所有情况下;“<br />”标签除外;元素是封闭的(例如“<p>...</p><br /><p>...</p>“),然后呈现为”<p>...<br /><p>...”。我正在努力隔离,但还没有发现任何明显的嫌疑人。我们不会在渲染过程中的任何时候操纵内容。
2赞 NightOwl888 5/30/2016
我的问题是,什么是“渲染过程”?您是否正在使用 HTML 帮助程序?您是否正在使用其他方式来生成 HTML?请发布一些代码。除非您提供复制该行为的方法,否则此问题可能会被关闭。请注意,<p> 的结束标记是可选的,它们可能不是嵌套的,但默认情况下,AFAIK、MVC HTML 帮助程序会输出 XHTML
0赞 Worthy7 5/30/2016
我能问一下,你把这些放到cshtml文件中了吗?
0赞 JoeGeeky 5/30/2016
@Worthy7 是的,这些文件位于 cshtml 文件中。

答: 暂无答案