Pregunta

¡Saludos!

Estoy buscando algunos consejos sobre un enfoque para mostrar datos en un FormView basado en una selección de DropDownList dentro de ese control FormView. Por ejemplo, tengo un UserControl con lo siguiente:

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

OnLoad () de UserControl se ve así hasta ahora:

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

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

Me gustaría poder pasar el valor del elemento seleccionado de DropDownList a GetMembershipTableXml () para recuperar el XML correspondiente y luego usarlo para completar los valores de FormView. ¿Cuál sería la mejor manera de hacer esto? Hacer una respuesta: ¿Redirigir a la página actual usando el valor DropDownList seleccionado como una variable de cadena de consulta? Espero que haya un mejor enfoque. ¿Qué te parece?

¿Fue útil?

Solución

Puede crear un evento para OnSelectedItemChanged en su DropDownList; cuando esto ocurre, puede tomar el elemento seleccionado y llamar a su función GetMembershipTableXml.

Finalmente, no olvide llamar a DataBind en su control FormView para actualizar los valores :)

Creo que creo eso es lo que buscas, ¡espero que ayude!

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top