0

Page.Request.QueryStringどのように動作するかを理解するのに苦労してPage.Sessionいます。これにどのように割り当てますnamestring

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
       }
}

私が得ているエラーは次のとおりです。

例外の詳細: System.NullReferenceException: オブジェクト参照がオブジェクトのインスタンスに設定されていません。

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

1 に答える 1

1

session何らかの値をcalledに設定する必要がありますname

例 (vb.net):

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

次に、これSession("name")を任意のページで使用できます。

たとえば、他のページでは次のようになります。Dim str As String = Session("name")

QueryStringを使用してある値をあるページから別のページに渡したい場合は、以下のコードを使用します。例: default.aspx

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

otherpage.aspx (コード ビハインド):

Request.QueryString("name")

これがあなたが必要とするものであることを願っています。

于 2014-03-14T19:46:19.380 に答える