Frage

Grüße!

Ich suche einen Rat einen Ansatz für die Anzeige von Daten in einem Formview in Bezug auf der Grundlage einer Auswahl eines Dropdown innerhalb dieser Formview-Steuerelement. Zum Beispiel habe ich ein Usercontrol mit dem folgenden:

<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>        

Die Usercontrol OnLoad () sieht wie folgt aus so weit:

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

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

Ich möchte in der Lage sein, den Wert des in GetMembershipTableXml ausgewählten Elemente des Dropdownlist () übergibt, um die entsprechenden XML abrufen und dann die Werte der Formview zu füllen verwenden. Was wäre der beste Weg, dies zu tun? Doing ein Response.Redirect zurück auf die aktuelle Seite des ausgewählten Dropdownlist-Wert als Query-String-Variable? Ich hoffe, es gibt einen besseren Ansatz. Was denken Sie?

War es hilfreich?

Lösung

Sie können ein Ereignis für OnSelectedItemChanged auf Dropdownlist erstellen; wenn dies der Fall ist, können Sie das ausgewählte Element greifen und Ihre GetMembershipTableXml Funktion aufrufen.

Schließlich vergessen Sie nicht DataBind auf Formview-Steuerelement aufrufen, um die Werte zu aktualisieren:)

I denken das ist, was Sie nach, hoffentlich hilft es!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top