【问题标题】:Configurable Web UI ASP.MVC可配置的 Web UI ASP.MVC
【发布时间】:2011-05-08 10:40:50
【问题描述】:
我对构建可配置的 ASP.NET MVC 3 UI 应用程序很感兴趣,我的意思是在整个 XML 配置中设置所有 UI 元素属性和属性(可以使用其他一些 UI 进行编辑)
我在谷歌上搜索了一些平台、模式或通用方法来实现这个目标,但我没有找到太多。
- 我的问题是如何读取 XML 和
渲染 HTML 元素,它是否通过
JavaScript ( jQuery )?
- 什么是最好的 html 命名和
嵌套策略? (我知道这是
不是真正的问题,而是在
某些模式的情况
为了更容易
元素遍历)
- 有没有可以重复使用的代码
满足这个需求?
谢谢。
【问题讨论】:
标签:
xml
user-interface
asp.net-mvc-3
configuration
【解决方案1】:
很难准确地说出您在寻找什么。
如果 XML 是您要显示的数据,一些选项:
- 使用 XSLT 将 XML 转换为 Html
- 根据您的目标用户,您甚至可以通过在您交给浏览器的 XML 中分配一个 XSLT 来让浏览器执行此操作。将 XML 直接返回给浏览器,而不是 HTML 或 ViewResult。
- 另一种方法是在操作方法中应用转换并将其作为字符串返回(而不是返回 ViewResult)。
- 另一种方法是实现 XmlActionResult。您会发现在 asp.net MVC 中实现 Action Results 很简单。在您的控制器上,您返回一个 XmlActionResult 与您要显示的数据。 XmlActionResult 应用 XSLT 转换。
- 使用自定义代码将 XML 转换为 Html。与 XSLT 转换一样,您可以直接在操作方法中执行此操作(通过调用您在其他地方定义的通用方法)或定义您自己的操作结果。
如果 XML 不是数据,而只是您希望如何显示模型中的任何内容:
- 您几乎是在定义一个 ViewEngine。您希望在 xml 中定义您的视图,而不是 aspx、razor 或任何其他语言。如果你自己推出它会受到限制,如果你使用第三方(如果你找到它),你将不得不处理它定义的语言。
- 您可以将动态数据与 asp.net MVC 结合使用。我不确定该控件是否可以在 asp.net MVC 视图中使用,但值得一试。
- 您可以在视图中使用 DisplayFor 方法并为所有简单类型定义模板。将其与您定义的一些帮助程序结合起来,您可以将您拥有的任何配置应用于字段(即使这不是为了显示任何内容)。