有没有办法让Episerver单独保留HTML id属性,更重要的是让它有多少工作?
我知道你也可以删除视图状态,这是多少工作?
我不是在这里开始讨论语义和优化,无论CMS是否应该触及前端代码都是一个长期争论。我只需要知道这些适应有多困难。
答案 0 :(得分:1)
开发EPiServer Web控件是为了与ASP.NET WebForms框架协同工作,在某些情况下,您对ID标记的生成控制有限。最好使用EPiServer CMS 6支持的dotnet 4.0。
完全消除WebForms控件生成的所有错误html是大量工作。您将最终重写所有内容并放弃许多ASP.NET内置功能。如果您使用WebForms,最好是务实且更具成本效益,并接受ID标记和小视图状态。
摆脱视图状态的常用方法是删除ASP.NET使用的全局表单标记。一个已知的副作用是编辑器使用的视图模式中的右键单击菜单停止工作,并且一些常见的第三方模块也将按预期停止工作,因为他们使用form-tag来注入javascript。您还将遇到XForms问题。
如果你想更好地控制生成的html,你可以使用你自己的扩展方法从你的页面获取MVC方式,从而从EPiServer属性中提取值。
EPiServer CMS 6尚不支持MVC,但很好地集成在未来版本中。
答案 1 :(得分:0)
我猜你只是在谈论模板?
困难的部分是重写表单设计器中对XForms的表单支持。 您还需要删除页面编辑功能。
您可能还想覆盖最常用控件中的一些内容,例如EPiServer:Property,但除此之外,它只是不将任何服务器表单放在模板代码中,并且您不会遇到任何ASP.NET垃圾问题标记。