0

UI を完全に動的に作成する必要があります。要件は、ページに約 100 個のコントロール (場合によってはそれ以上) があり、フォームに入力するとフォーム自体が変化することです。例えば年齢を記入する場合、年齢が30歳以上50歳未満の場合は次の3つの質問が異なり、50歳以上の場合は2つの質問しかなく、それらもまったく異なります。ページはこのように動的に流れ続け、あなただけに関連するコントロールは、あなたが質問に答えるときにのみ表示されるべきです。一瞬。

ASP.NET WebForms または MVC を使用できます。MVC にはサーバー コントロールの概念がなく、これは JS を使用して行う必要があることを認識しています。私はどちらのテクノロジを使用しても構いませんが、MVC アプリケーションを開発するのはこれが初めてであることに注意してください。また、Telerik、Component Art、Dev Express など、必要なサードパーティの UI API にアクセスすることもできます。これを機能させ、きれいにする必要があるだけです。

この UI を動的に生成するには、どのようなアプローチをとりますか? 私が見ることができるデザインパターン/アプローチはすでにありますか?

4

2 に答える 2

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>

あなたのロジックに基づいて、display = 'block'を作成します

于 2013-01-10T07:22:54.250 に答える
1

できることは、一連の動的要素をそれぞれ作成し、それらを div に配置することです。答えに応じて、これらのdivを挿入するか、すでに並んでいるが非表示にして、正しい答えでそれらを表示することができます。このロジックはすべてコントローラーに入り、ID.

document.getElementById(elementID)

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