У меня есть выпадающий список и сетка.
Источник данных gridview зависит от dropdown.SelectedValue
Раскрывающийся список:
<asp:DropDownList ID="DropDownListLoggedInUser" runat="server" autopostback="True"
DataSourceID="SqlDataSource3" DataTextField="Medarbejder"
DataValueField="Medarbejder"
onload="DropDownListLoggedInUser_Load">
</asp:DropDownList>
Источник данных:
<asp:SqlDataSource ID="SqlDataSource3" runat="server"
ConnectionString="<%$ ConnectionStrings:EGWebtidConnectionString %>"
SelectCommand="SELECT [Medarbejder] FROM [Sager] WHERE ([Medarbejder] IS NOT NULL)">
</asp:SqlDataSource>
Вид сетки:
<asp:GridView ID="GridViewSagsoversigt" runat="server" CellPadding="4" ForeColor="#333333"
GridLines="None" Style="text-align: left" AutoGenerateColumns="False" DataSourceID="SqlDataSource1"
OnPreRender="GridViewSagsoversigt_PreRender" DataKeyNames="Sagsnr" EnablePersistedSelection="True"
SelectedIndex="0" OnSelectedIndexChanged="GridViewSagsoversigt_SelectedIndexChanged">
Источник данных:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:EGWebtidConnectionString %>"
SelectCommand="SELECT Sagsnr, Arbejskort, Adresse, Postnr, [By], Beskrivelse, Bemaerkning, Ansvarlig, Medarbejder FROM Sager WHERE ([Medarbejder] LIKE '%' + @Medarbejder + '%')">
<SelectParameters>
<asp:ControlParameter ControlID="DropDownListLoggedInUser" Name="Medarbejder"
PropertyName="SelectedValue" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
Когда страница загружается. Gridview запрашивает Dropdown.SelectedValue
, прежде чем Dropdown полностью загрузится и установит SelectedValue
. Так что SelectedValue
возвращает ""
и Gridview ничего не показывает.
Когда я нажимаю на выпадающий список и выбираю имя, он выполняет обратную передачу и все работает как запланировано.
Так как я могу убедиться, что выпадающий список загружается первым, а сетка просмотра загружается вторым?