Hinzufügen ControlParameter zu SqlDataSource-verhindert, dass die Abfrage und databinding?

Habe ich ein SqlDataSource, dass eine gespeicherte Prozedur aufruft und es funktioniert gut. Wenn ich einen <ControlParameter> - tag hinzufügen, um ein zusätzliches argument, dann ist die Abfrage wird nie ausgelöst und das databinding tritt nie ein. Vorschläge?

Dies funktioniert:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DefaultDB %>"
    SelectCommand="SP_WHATEVER" SelectCommandType="StoredProcedure" 
    UpdateCommand="SP_WHATEVER2" UpdateCommandType="StoredProcedure">
    <SelectParameters>
        <asp:SessionParameter DefaultValue="" Name="UserName" SessionField="RP_Program" Type="String" />
    </SelectParameters>
    <UpdateParameters>
        <snip...>
    </UpdateParameters>
</asp:SqlDataSource>

, Wenn ich die ControlParameter, die databinding-Fehler tritt nicht mehr auf:

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:DefaultDB %>"
    SelectCommand="SP_WHATEVER" SelectCommandType="StoredProcedure" 
    UpdateCommand="SP_WHATEVER2" UpdateCommandType="StoredProcedure">
    <SelectParameters>
        <asp:SessionParameter DefaultValue="" Name="UserName" SessionField="RP_Program" Type="String" />
        <asp:ControlParameter Name="SprocArgName" ControlID="ddlFilter" PropertyName="SelectedValue" Type="String" />
    </SelectParameters>
    <UpdateParameters>
        <snip...>
    </UpdateParameters>
</asp:SqlDataSource>

Den ControlParameter bezieht sich auf ein gültiges Objekt auf der Seite. Irgendwelche anderen Vorschläge?

Schreibe einen Kommentar