0

ご挨拶!

その FormView コントロール内の DropDownList の選択に基づいて FormView にデータを表示する方法に関するアドバイスを探しています。たとえば、次の UserControl があります。

<asp:XmlDataSource ID="xdsMyXmlData" runat="server" EnableCaching="false" XPath="Root/Membership" />
<asp:FormView ID="fvwMyFormView" runat="server" DataSourceID="xdsMyXmlData">
    <ItemTemplate>
        <div>
            <h2><%# XPath("Title") %></h2>

            <fieldset>
                <asp:DropDownList ID="ddlMemberTypes" runat="server" DataSource='<%# XPathSelect("MenuItems/*") %>'></asp:DropDownList>
            </fieldset>
            <table>
                <thead>
                    <tr>
                        <th><%# XPath("Columns/Name") %></th>
                        <th><%# XPath("Columns/Age") %></th>
                        <th><%# XPath("Columns/DateJoined")%></th>
                    </tr>
                </thead>
                <tbody>
                    <asp:Repeater ID="rptMembershipInfo" runat="server" DataSource='<%# XPathSelect("Members/*") %>'>
                        <ItemTemplate>
                            <tr>
                                <th><%# XPath("Data/Name") %></th>
                                <td><%# XPath("Data/Age") %></td>
                                <td><%# XPath("Data/DateJoined") %></td>
                            </tr>
                        </ItemTemplate>
                    </asp:Repeater>
                </tbody>
            </table>
        </div>    
    </ItemTemplate>
</asp:FormView>        

UserControl の OnLoad() は、これまでのところ次のようになっています。

protected override void OnLoad(EventArgs e)
{
    base.OnLoad(e);

    string l_XmlData = MyControllerClass.GetMembershipTableXml(0);
    xdsMyXmlData.Data = l_XmlData;
}

DropDownList の選択した項目の値を GetMembershipTableXml() に渡して、対応する XML を取得し、それを使用して FormView の値を入力できるようにしたいと考えています。これを行う最善の方法は何ですか?選択した DropDownList 値をクエリ文字列変数として使用して、Response.Redirect を現在のページに戻しますか? より良いアプローチがあることを願っています。どう思いますか?

4

1 に答える 1

1

DropDownList で OnSelectedItemChanged のイベントを作成できます。これが発生すると、選択したアイテムを取得して、GetMembershipTableXml 関数を呼び出すことができます。

最後に、FormView コントロールで DataBind を呼び出して値を更新することを忘れないでください:)

私はそれがあなたが求めているものだと思います、うまくいけばそれは役に立ちます!

于 2009-01-27T23:26:56.333 に答える