页面.会话未设置为实例

本文关键字:实例 设置 会话 页面 | 更新日期: 2023-09-27 17:50:15

我很难理解Page.Request.QueryStringPage.Session是如何工作的。如何将name分配给string

protected override void Render(HtmlTextWriter output)
    {
        SqlConnection sqlConnection = new SqlConnection(connectionString);
        SqlCommand sqlCommand = new SqlCommand();
        StringBuilder stringBuilder1 = new StringBuilder();
        StringBuilder stringBuilder2 = new StringBuilder();
        sqlCommand.Connection = sqlConnection;
        sqlCommand.CommandType = CommandType.StoredProcedure;
        sqlCommand.CommandText = "proc_UserBids";
        sqlCommand.CommandTimeout = 1000;
        string str = this.Page.Request.QueryString["name"] == null ? this.Page.Session["name"].ToString() : ((object)this.Page.Request.QueryString["name"]).ToString();
        if (!(str == ""))
        {
      //Do Something
       }
}

得到的错误是:

Exception Details: System。NullReferenceException:对象引用没有设置为对象的实例。

 string str = this.Page.Request.QueryString["name"] == null ? this.Page.Session["name"].ToString() : ((object)this.Page.Request.QueryString["name"]).ToString();

页面.会话未设置为实例

您必须为session设置一些值,称为name

示例(vb.net):

Session.Add("name","some string")

那么你可以在任何页面使用这个Session("name")

例如在其他页面:Dim str As String = Session("name")

如果你想用QueryString传递一些值,从一个页面到另一个页面,然后使用下面的代码。例子:deafult.aspx

Response.Redirect("otherpage.aspx?name=Some string")

otherpage。Aspx(后台代码):

Request.QueryString("name")

我希望这就是你需要的。