0

私の問題は次のとおりですdefault.aspx。ページが削除されています。要素を除いて、ほとんどすべての機能は のコード ビハインドにある必要がありますaspx.vb

プログラムはデータベースから情報を取得し、これを別のテーブル リストと比較します。両方のリストの数は異なる場合があります。

したがって、動的な数の RadioButtonLists を要素コントロールに「バインド」するasp:table必要があり、作成された各 RadioButtonList に動的な数の ListItems を作成する必要があります。後で、データベース内の将来の機能を決定するために、それぞれの選択された値にアクセスできる必要があります。

コードの例は次のとおりです。

aspx ファイル:

<asp:table ID="table1" runat="server">


aspx.vb ファイル (分離コード):

Sub createHtmlTables()

    For i = 0 To productIndex.Count - 1

        ''//create a RadioButtonList for each i
        Dim row As New TableRow
        Dim cell As New TableCell

        For k = 0 To productTypeAmountIndex.Count - 1

            ''//create a ListItem(radiobutton)
            ''//for each k and include it in the RadioButtonList

            ''//assign a value (for example name) of the product as
            ''//the ListItems ID to retreive it later

        Next

        ''//add the RadioButtonList to cell.controls etc
        Table1.Rows.Add(row)

    Next
End Sub

Sub addToDb()
    For i = 0 To productIndex.Count - 1
        ''//get the RadioButtonList for each i
        ''//and return the value of the selected radiobutton
        ''//within the list to a variable

    Next

End Sub

これが長くて紛らわしい場合は申し訳ありませんが、まだ質問を正しく作成することさえできないため、できるだけ多くの情報を含めようとしました. 基本的に、すべてを機能させるために使用する方法と方法の例が必要です。

アップデート:

最初にテーブルを使用するのは間違いだったと誰もが私に言い続けていますが、私が見つけた場所では、データグリッドの外観をテーブルでできるように簡単にカスタマイズできないと主張していました。その時は、すべてをゼロから始めると思います。

重要なのは、UI が可能な限りグラフィックスに適したものであることです。テーブルを使用すると、内部の情報に応じてセルに色を付けるなど、あらゆる種類の優れた操作を行うことができます。

とにかく、感謝しますが、私が探していたものではありませんが、datagrid / gridview で作り直して、何が起こるか見てみます。それらを使用してここに戻るのに十分な量を習得するには、数日かかる場合があります。

4

2 に答える 2

0

テーブルではなく、gridview や datagrid、またはリピーターなどの真のサーバー コントロールを使用すると、うまくいくでしょう。次に、コントロールの datasource プロパティを接続するだけです。

すべての動的コントロールについて、ポストバックを行うたびに再作成する必要があることに注意してください。これは奇妙に聞こえるかもしれませんが、秘訣は、ポストバックを含むサーバーへのすべての要求が、ページ クラスの異なるインスタンスを使用することです。そのリクエスト/ポストバックが終了すると、そのリクエストに使用されたページ インスタンスは破棄されます。アクティブなままになっているのは、セッションとキャッシュだけです。

于 2009-02-04T15:20:37.023 に答える