簡體   English   中英

在asp.net后面的代碼中從另一個頁面返回值的最佳方法是什么?

[英]What is the best way to return values from another page in code behind in asp.net?

我有兩頁。 在第一個上,我有兩個下拉列表和類似的按鈕:

在此處輸入圖片說明

該按鈕的代碼是:

protected void btnIzabraniProizvodi_Click(object sender, EventArgs e)
{
    Session["Id_Dobavljaca"] = ddlDobavljaci.SelectedValue;
    Session["Id_Kategorija"] = ddlKategorija.SelectedValue;
    Response.Redirect("IzabraniProizvodi.aspx");
}

當我單擊此按鈕時,將打開第二個頁面。 在此處輸入圖片說明

這兩個會話是SQL查詢的輸入參數。 這是第二頁上的代碼:

protected void Page_Load(object sender, EventArgs e)
{
    string idDobavljaca = Session["Id_Dobavljaca"].ToString();
    string idKategorija = Session["Id_Kategorija"].ToString();
    string konekcioniString = ConfigurationManager.ConnectionStrings["moja_konekcija"].ConnectionString;
        using (SqlConnection sqlKonekcija = new SqlConnection(konekcioniString))
        {
            SqlDataAdapter sqlDA = new SqlDataAdapter("spVratiIzabraneProizvode", sqlKonekcija);
            sqlDA.SelectCommand.Parameters.AddWithValue("@Id_dobavljaca", idDobavljaca);
            sqlDA.SelectCommand.Parameters.AddWithValue("@Id_kategorija", idKategorija);
            sqlDA.SelectCommand.CommandType = CommandType.StoredProcedure;

            DataSet ds = new DataSet();
            sqlDA.Fill(ds);

            ds.Tables[0].TableName = "IzabraniProizvodi";
            gridView.DataSource = ds.Tables["IzabraniProizvodi"];
            gridView.DataBind();
        }
    }

我的問題是,當此dataSet為空時,如何在按鈕下方的第一頁上看到一些消息:“此值無信息,請使用其他值再試一次”? 任何想法?

通常無法執行此操作,並且您有兩種不好的方法:

  1. 您可以使用子頁面和父頁面。 第二頁將是第一頁的子級,數據將通過javascript從子級發送到父級。 但問題在於,出於安全原因,這不適用於chrome。
  2. 第二種方法是在一段時間內使用ajax方法從首頁自動檢查。

    setInterval(function(){AJAX-CHECK},5000)

如果您想要其中的每一種,我都會做更多解釋。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM