选择参数不适用于SqlDataSource

时间:2010-04-18 14:53:19

标签: asp.net sqldatasource

我正在使用下面的存储过程来获取SqlDataSource的select命令,我正在尝试传递查询字符串参数,但是我收到此错误:

过程或函数'ActivationCampaignGetById'需要参数'@campaignId',这是未提供的。

参数出现在查询字符串中:

http://localhost:62681/Activations/ActivationCampaignDetails.aspx?id=98

这是我的DataSource代码:

<asp:SqlDataSource ID="campaignDataSource" runat="server" ConflictDetection="CompareAllValues"
    ConnectionString="<%$ ConnectionStrings:ProVantageMediaManagement %>" 
    SelectCommand="ActivationCampaignGetById" SelectCommandType="StoredProcedure">
    <SelectParameters>
        <asp:QueryStringParameter DefaultValue="98" Name="campaignId" 
            QueryStringField="id" Type="Int32" />
    </SelectParameters>
</asp:SqlDataSource>

我的存储过程声明:

ALTER procedure [dbo].[ActivationCampaignGetById]
    @campaignId int
as
select

1 个答案:

答案 0 :(得分:4)

不确定这会有帮助,但您需要将参数方向设置为输入:

<asp:QueryStringParameter DefaultValue="98" Name="campaignId" 
       Direction="Input" QueryStringField="id" Type="Int32" />