C# 向sqldatasource发送变量

C# 向sqldatasource发送变量,c#,.net,asp.net,sql,sqldatasource,C#,.net,Asp.net,Sql,Sqldatasource,我有一个sqldatasource,它接受一个带有参数的存储过程..但是该存储过程不会被执行 我是否成功传递了参数 SQLDataSource: <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:CP_AllQuestionsAnswered %>" SelectCommand="GetMessag

我有一个sqldatasource,它接受一个带有参数的存储过程..但是该存储过程不会被执行

我是否成功传递了参数

SQLDataSource:

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
        ConnectionString="<%$ ConnectionStrings:CP_AllQuestionsAnswered %>" 
        SelectCommand="GetMessagesTitles" SelectCommandType="StoredProcedure">
        <SelectParameters>
            <asp:Parameter Name="Name" Type="String" />
        </SelectParameters>
    </asp:SqlDataSource>
存储过程:

    ALTER PROCEDURE dbo.GetMessagesTitles

   @Name nvarchar(50)

AS
    SELECT MessageTitle, MessageID
    FROM Messages
    WHERE MessageTo=@Name 

您需要传递参数值,而不是在SQLDataSource中添加参数。由于您已经在
SelectParameters
集合中添加了参数,因此只需传递值即可。按照您的方式,它添加了另一个Select参数,这就是问题所在

应该是这样的

string name = ModeratorUsefulFunctions.GetMessageUsersName(g);

SqlDataSource1.SelectParameters["name"].DefaultValue = name;

谢谢,它起作用了。。。“n”应该是“n”…这纠正了情况答案是对的…谢谢
string name = ModeratorUsefulFunctions.GetMessageUsersName(g);

SqlDataSource1.SelectParameters["name"].DefaultValue = name;