-2

次の形式のコードビハインドを介して動的にコントロールを追加したい

lblName   txtName       lblSubject    txtSubject         btnAddNewRow/linkAddNewRow

btAddNewRow / linkAddNewRowが、実行時に現在の行の下に新しい行を生成するようにします。誰かが可能な限り最善の方法で助けることができますか?また、フォーマットにテーブル、つまりtd thではなく、タグのみを使用することは可能ですか。重要なことだけを目的として行を使用しています。テーブルの行を使用するつもりはありません。コントロールのタイプとしてプレフィックスを考慮してください。ありがとう。

4

1 に答える 1

0

基本的に、意図がデータ処理に関連している場合は、DataGridとGridViewが適切な選択です。

テーブルの代わりに動的にROWを追加することは、実際にはそれほど違いはなく、DataGridやGridViewと比較して完全に適切ではないことがわかります。

本当に動的に行を追加したい場合は、ボタンをクリックするたびに([行ボタンを追加]など)ページがポストバックされ、追加した行は表示されなくなります。

人々が通常行うことは、テーブルを作成して行を追加するときに、セッションを使用してテーブル全体を格納することです。

Page_Loadで、また行を追加する前に、セッションからテーブル全体を取得します。これは、データを元の行に保持するのに役立ちます。


しかし、これは、各行コントロールのID、形式、スタイルなどを処理するのに負担がかかる可能性があり、検証を処理するときに考えると、地獄になる可能性があります。

私はこれを経験したので、それが実行不可能だと言っているのではありません。

もう1つの簡単な方法は、検証、スタイル、その他必要なものを含む行全体をカスタムコントロールに配置してカスタムコントロールを作成し、それを動的にページに追加することです(これを保存するには、SessionまたはViewStateも必要です。同じことが起こります) 。

これがあなたのデザインを再考するのに役立つことを願っています

于 2013-01-01T14:11:33.870 に答える