2016-11-27 10 views
0

私は2ページあります。最初のもので、私は2はこのようにリストとボタンドロップダウンがあります。このボタンは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

この2つのセッションは、SQLクエリの入力パラメータです。ここでは2ページ目のコードは次のとおりです。「この値のところ情報を、異なるでもう一度お試し:

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

dt.Rows.Count == 0の場合は、最初のページでSQLクエリを実行し、結果をデータテーブルに入れないでください。それ以外の場合は、セッションにdtを入れて、新しいページにリダイレクトします –

+0

これはオプションの1つです。それを試すことができます私はちょうど別の方法があるかどうか疑問に思っています... – Nemanja

答えて

1

あり、通常はこれを行う方法はありませんし、次の2つの良くない方法があります。

  1. あなたは子供と親ページを使用することができます。 2番目のページは最初のページの子になり、データはjavascriptによって子から親に送信されます。問題は、これがセキュリティ上の理由からクロームでは機能しないということです。
  2. 第2の方法は、第1ページからajaxメソッドによって自動的にチェックすることです。

    のsetInterval(関数(){AJAX-CHECK}、5000)

あなたは私がもっと説明しますそれらsenariosのそれぞれをしたい場合。

+0

最良の方法は私が多くを複雑にしないことです:)最初のページのすべてをチェックし、SQLベースに行き、dataSet空ではありません私はセッションを通して2番目のページにそれを送信します。あなたの両方へのTnx ;-) – Nemanja

+0

もちろん、これが最善の方法です。 –

関連する問題