Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 将C#变量传递到aspx源Sql查询_Asp.net_Sql_Gridview - Fatal编程技术网

Asp.net 将C#变量传递到aspx源Sql查询

Asp.net 将C#变量传递到aspx源Sql查询,asp.net,sql,gridview,Asp.net,Sql,Gridview,我正在尝试创建一个消息系统,其中收件箱是与用户ID关联的所有消息的网格视图。我在C#中有一个全局get方法来获取当前登录的用户。我想知道如何将其绑定,以便数据库只显示我希望它显示的数据 在我的.aspx.cs文件中,我有如下内容: protected void Page_Load(object sender, EventArgs e) { int userInSess = getLoggedInUser(); Session["user"]

我正在尝试创建一个消息系统,其中收件箱是与用户ID关联的所有消息的网格视图。我在C#中有一个全局get方法来获取当前登录的用户。我想知道如何将其绑定,以便数据库只显示我希望它显示的数据

在我的.aspx.cs文件中,我有如下内容:

 protected void Page_Load(object sender, EventArgs e)
      {
          int userInSess = getLoggedInUser();
          Session["user"] = user;

    }
在源文件中,我有如下内容:

   <asp:SqlDataSource ID="ProjectDB" runat="server" 
    ConnectionString="<%$ ConnectionStrings:ProjectConnectionString %>" 
    SelectCommand="SELECT [SentByUserName], [Subject], [CreateDate] FROM [Messages] WHERE (ReceivedByUserID = @user) ORDER BY [CreateDate] DESC">
    <SelectParameters>
        <asp:SessionParameter Name = "user" />
    </SelectParameters>
</asp:SqlDataSource>

我知道这是错误的,但我似乎找不到明确的答案,如何确切地做到这一点。任何帮助都将不胜感激


谢谢

您需要使用以下内容引用会话中存储的值:

<asp:SessionParameter Name="User" SessionField="user" /> 

注意添加了
SessionField
属性


SqlDataSource控件仅使用参数对象的
Name=“User”
来匹配SQL查询中的@User占位符,将会话变量保留在一些局部变量中,然后使用局部变量从数据库中获得所需的结果?您需要使用
引用会话中的值注意添加的
会话字段