¿Cómo acceder a la lista desplegable de EditItemTemplate de FormView
-
04-10-2019 - |
Pregunta
Tengo un formview en mi página aspx que contiene varios controles organizados utilizando la tabla. Hay un DDL "cboClients" que necesito para activar o desactivado dependiendo de papel dentro de modo de edición.
El problema aquí es que no soy capaz de conseguir que el control utilizando el método FindControl ().
He intentado siguiente código -
DropDownList ddl = null;
if (FormView1.Row != null)
{
ddl = (DropDownList)FormView1.Row.FindControl("cboClients");
ddl.Enabled=false;
}
A pesar de que solía AVE caso DataBound del mismo control -
protected void cboClients_DataBound(object sender, EventArgs e)
{
if (FormView1.CurrentMode == FormViewMode.Edit)
{
if ((Session["RoleName"].ToString().Equals("Clients")) || (Session["RoleName"].ToString().Equals("Suppliers")))
{
DropDownList ddl = (DropDownList)sender;
ddl.Enabled = false;
}
}
}
Sin embargo, este evento de enlace de datos se produce sólo una vez, pero no cuando se cambia el modo formview.
¿alguien puede proporcionar la solución adecuada?
Gracias por compartir su tiempo.
Solución
Trate caso ModeChanged. http://msdn.microsoft. com / es-es / library / system.web.ui.webcontrols.formview.modechanged.aspx
actualización ..
Probar
DropDownList ddl = FormView1.FindControl("cboClients") as DropDownList;
if (ddl != null) {
ddl.Enabled=false;
}