0

我需要完全动态地创建一个 UI。要求是页面上有大约 100 个控件(可能更多),并且当您填写表单时,表单本身会发生变化。比如你填年龄的时候,如果年龄超过30岁不到50岁,接下来的3道题就会不一样——如果你超过50岁,就只有2道题,而且完全不一样。页面将继续像这样动态流动,仅与您相关的控件应该只在您回答问题时出现 - 显然 - 因为它们可能与您无关,因此我们必须将它们隐藏到最后片刻。

我可以使用 ASP.NET WebForms 或 MVC。我意识到 MVC 没有服务器控件的概念,这需要使用 JS 来完成。我愿意使用任何一种技术,但我应该注意,这将是第一次开发 MVC 应用程序。我还可以访问我想要的任何第 3 方 UI API——Telerik、Component Art、Dev Express——我只需要让它工作并让它变得漂亮。

你会采取什么样的方法来动态生成这个 UI?是否已经有我可以查看的设计模式/方法?

4

2 回答 2

1

您可以做的是,创建每组动态元素并将它们放在 div 中。根据现在的答案,您可以将这些 div 注入,或者已经排列好但隐藏起来,让它们在正确答案中可见。所有这些逻辑都将进入您的控制器,您只需要有一个起始视图,其中包含一个具有ID.

document.getElementById(elementID)

if ((correctAnswer)&&(element.style.display=='none'))
   element.style.display="block"
于 2013-01-09T13:15:46.103 回答
1

您的 index.html 可以具有以下结构,

<html>
  <head.......
  ............
  ............
  </head>
  <body>
    <form>
      <div id='staticFields1'>.....</div>
      <div id='staticFields2'>.....</div>
      <div id='dynamicFields21' display='none'>.....</div>
      <div id='dynamicFields22' display='none'>.....</div>
      <div id='staticFields3'>.....</div>
    </form>
  </body>
</html>

所以根据你的逻辑 make display='block'

于 2013-01-10T07:22:54.250 回答