0

我在 C# 中有一个网站,在第一页我有一些列表框,我需要最后一个用户的选择转到其他页面中的标签,我该怎么做?

在我的代码中,如果用户选择一个值,一个按钮是可见的,并且在该按钮的单击事件中重定向到另一个页面,但我需要在 page2 的标签中使用该值

if (ddlFunciones.SelectedValue.Equals("15"))
{
    lblAgregarNuevoServicio.Visible = true;
    //lblIdFuncion.Visible = true;
    lblDescripcion.Visible = true;
    //txtId_funcion.Visible = true;
    txtDescripcionFuncion.Visible = true;
    btnAgregarNuevaFuncion.Visible = true;
}


protected void RadioButtonList1_SelectedIndexChanged(object sender, EventArgs e)
{

}
protected void btnVerCargos_Click(object sender, EventArgs e)
{
    if (btnVerCargos.Enabled)
    {
        ListBoxCargo.Visible = true;
    }
    else
    {
        ListBoxCargo.Visible = false;
    }
}
protected void ListBoxCargo_SelectedIndexChanged(object sender, EventArgs e)
{

}
4

2 回答 2

3

如果这是在 Asp.Net 中,您可以通过多种方式在页面之间传递信息。您可以使用Session对象

protected void ListBoxCargo_SelectedIndexChanged(object sender, EventArgs e)
{
   Session["MyVar"] = ListBoxCargo.SelectedValue;
}

在你的其他页面

object value;
if (Session["MyVar"] != null)
{
   value = Session["MyVar"]
}

或者

通过在 QueryString 中传递它们,请参阅Passing-variables-between-pages-using-QueryString 并使用Request.QueryString["MyVar"]

当然还有更多,请解释一下你到底想做什么......

编辑:基于 OP 评论:

在第 1 页中:

protected void Button1_Click(object sender, EventArgs e)
    {
        Session["Page1Value"] = ListBox3.SelectedItem.Text;
       //Response.Redirect("~/Page2.aspx");
    }

在第 2 页中:

 protected void Page_Load(object sender, EventArgs e)
 {
    if (Session["Page1Value"] != null)
    {
       Label1.Text = Session["Page1Value"].ToString();
    }
 }
于 2012-06-25T18:01:54.027 回答
1

在将用户重定向到另一个页面之前,将选定的值存储在用户的会话中。

 protected void Button1_Click(object sender, EventArgs e)
 {
     Session["userSelectedValue"] = ListBox1.SelectedValue;
     Response.Redirect("OtherPage.aspx");
 }

在另一页上,只需从会话中提取选定的值。

例如:

protected void Page_Load(object sender, EventArgs e)
{
    var selectedValue = Session["userSelectedValue"];    
}

使用互联网上可用的会话变量的例子已经足够多了。

我建议您阅读ASP.NET Session State

于 2012-06-25T18:02:27.717 回答