2016-11-27 52 views
0

我有兩頁。在第一個我有兩個下拉列表和按鈕這樣的:在asp.net中的代碼中,從另一個頁面返回值的最佳方式是什麼?

enter image description here

代碼這個按鈕是:

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

當我點擊這個按鈕打開頁面secont。 enter image description here

這兩個會話是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(); 
     } 
    } 

我的問題是,當該數據集爲空,我怎麼能得到按鈕下方的第一頁上的一些信息:「這個數值沒有信息,用不同的重試值「?任何想法?

+1

爲什麼不在第一頁運行sql查詢並將結果放入數據表中if dt.Rows.Count == 0 display message else將dt放在Session中並重定向到新頁面 –

+0

這是選項之一可以嘗試,我只是想知道是否有另一種方式可能... – Nemanja

回答

1

沒有辦法正常做到這一點,你有兩個不好的方面:

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

    的setInterval(函數(){AJAX-CHECK},5000)

如果你想那些senarios我會更多的解釋中的每一個。

+0

最好的辦法是,我不會複雜到很多。:)我會檢查第一頁上的所有內容,轉到SQL基地,如果dataSet不是空的,我會通過會話將它發送到第二頁。 Tnx給你們倆; ;-) – Nemanja

+0

當然這是最好的方法。 –

相關問題