【问题标题】: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 方法并为所有简单类型定义模板。将其与您定义的一些帮助程序结合起来,您可以将您拥有的任何配置应用于字段(即使这不是为了显示任何内容)。

    【讨论】:

      【解决方案2】:

      可以参考基于实现XSLT View Engine的博客

      MVCDynamicForms 是一个不错的选择,你可以考虑

      XSLTViewEngine 也可以考虑如果您对 XML 与 XSLT 一起转换为 HTML 感兴趣。

      【讨论】:

        猜你喜欢
        • 2011-12-02
        • 1970-01-01
        • 2021-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多