Principales respuestas
Llamar variable de un evento clic a otro evento clic

Pregunta
-
Estoy tratando de realizer una accion de un control pero al momento de mandarla a llamar, no logro realizarla al 100% por que necesito una variable del anterior evento clic
este es mi codigo:
protected void Assign_Click(object sender, EventArgs e) { ScriptManager.RegisterStartupScript(this, this.GetType(), "Pop", "showAndHide();", true); Button Btn_clic = (Button)sender; var name = Btn_clic.Text; <-- variable que necesito en el siguiente evento List.ListUsers listArea = new List.ListUsers(); List<Data.Area> Area = listArea.AreaList(); List<Data.Area> ListOfEquiposOk = Area.Where(x => x.AREA == name && x.STANDBY == 0).ToList(); List<Button> Botones = new List<Button>(); var TeamFCH = ListOfEquiposOk.Select(x => x.TEAM).Distinct().ToList(); foreach (var team in TeamFCH) { Button newButton = new Button(); newButton.CommandName = "Btn" + Convert.ToString(team); newButton.ID = "Btn_" + Convert.ToString(team); newButton.Text = team; newButton.Click += Info_Click; newButton.OnClientClick = "return ModalGood();"; Botones.Add(newButton); GoodPanel.Controls.Add(newButton); newButton.CssClass = "btn-primary outline separate"; } } /**********************************************************************/ void Info_Click(object sender, EventArgs e) { Button Btnclick = (Button)sender; var team = Btnclick.Text; List.ListUsers listArea = new List.ListUsers(); List<Data.Area> Area = listArea.AreaList(); List<Data.Area> ListOfToolsOk = Area.Where(x => x.AREA == "ENG" && x.TEAM == "516" && x.STANDBY == 0).ToList(); var ToolArea = ListOfToolsOk.Select(x => x.TEAM); Grv_Eng.DataSource = ListOfToolsOk; Grv_Eng.DataBind(); }
Respuestas
-
hola
>>variable que necesito en el siguiente evento
podrias usar
Session["name"] = Btn_clic.Text;
y en el otro evento usarias
string name = Session["name"].ToString();
de esta forma tendrias el valor entre los eventos
Tambien puedes usar el ViewState, se usa de la misma forma que el Session
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Editado Leandro TuttiniMVP lunes, 3 de julio de 2017 22:54
- Propuesto como respuesta Alberto PoblacionMVP martes, 4 de julio de 2017 14:02
- Marcado como respuesta Joyce_ACModerator jueves, 6 de julio de 2017 19:26
-
Para este caso concreto te recomiendo mejor el ViewState en lugar del Session. El Session se conserva entre todas las navegaciones en todas las sesiones de un mismo navegador, por lo que se te podría filtrar información de una pestaña a otra, y además podría fallarte al desplegar en una granja de servidores si no configuras un servidor de sesión. En cambio, el ViewState es local a esa página concreta y siempre funciona sin requisitos de configuración.
ViewState["texto"] = Btn_clic.Text;
...
string variableRecuperada = ViewState["texto"] as string;
- Propuesto como respuesta Joyce_ACModerator martes, 4 de julio de 2017 19:10
- Marcado como respuesta Joyce_ACModerator jueves, 6 de julio de 2017 19:26
Todas las respuestas
-
Hola, no especificas cual es la variable que quieres guardar
podrías evaluar el uso de session para mantenerla entre postbacks
Crear y Utilizar Sesiones en ASP.Net
Si la respuesta te fue útil vótala como tal,y si fue respuesta márcala.Solo dejo mis respuestas en el foro si son votadas o respuesta, de lo contrario por mantener el orden las borro.Saludos. Lima-Perú.
-
-
hola
>>variable que necesito en el siguiente evento
podrias usar
Session["name"] = Btn_clic.Text;
y en el otro evento usarias
string name = Session["name"].ToString();
de esta forma tendrias el valor entre los eventos
Tambien puedes usar el ViewState, se usa de la misma forma que el Session
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Editado Leandro TuttiniMVP lunes, 3 de julio de 2017 22:54
- Propuesto como respuesta Alberto PoblacionMVP martes, 4 de julio de 2017 14:02
- Marcado como respuesta Joyce_ACModerator jueves, 6 de julio de 2017 19:26
-
Para este caso concreto te recomiendo mejor el ViewState en lugar del Session. El Session se conserva entre todas las navegaciones en todas las sesiones de un mismo navegador, por lo que se te podría filtrar información de una pestaña a otra, y además podría fallarte al desplegar en una granja de servidores si no configuras un servidor de sesión. En cambio, el ViewState es local a esa página concreta y siempre funciona sin requisitos de configuración.
ViewState["texto"] = Btn_clic.Text;
...
string variableRecuperada = ViewState["texto"] as string;
- Propuesto como respuesta Joyce_ACModerator martes, 4 de julio de 2017 19:10
- Marcado como respuesta Joyce_ACModerator jueves, 6 de julio de 2017 19:26