我正在使用下面的存储过程来获取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
答案 0 :(得分:4)
不确定这会有帮助,但您需要将参数方向设置为输入:
<asp:QueryStringParameter DefaultValue="98" Name="campaignId"
Direction="Input" QueryStringField="id" Type="Int32" />