从asp.net中的代码中的另一个页面返回值的最佳方法是什么?

时间:2016-11-27 11:41:37

标签: c# 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 个答案:

答案 0 :(得分:1)

没有办法正常做到这一点你有两个不好的方法:

  1. 您可以使用子页面和父页面。第二页将是第一页的孩子,数据将通过javascript从孩子发送到父母。但问题是出于安全原因,这在chrome中不起作用。
  2. 第二种方法是在一段时间内通过ajax方法从第一页自动检查。

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

  3. 如果你想要其中的每一个,我会更多解释。