У меня есть formview на моей aspx странице, содержащей различные средства управления, расположенные с помощью таблицы. Существует DDL "cboClients", который я должен включить или отключенный в зависимости от роли в Режиме редактирования.
Проблема здесь состоит в том, что я не могу получить то использование управления FindControl () метод.
Я попробовал следующий код -
DropDownList ddl = null;
if (FormView1.Row != null)
{
ddl = (DropDownList)FormView1.Row.FindControl("cboClients");
ddl.Enabled=false;
}
Даже я авеню использовал событие DataBound того же управления -
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;
}
}
}
Но это связанное с данными событие имеет место только однажды, но не, когда formview режим изменяется.
Кто-либо может предоставить мне надлежащее решение?
Спасибо за совместное использование Вашего времени.
Попробуйте использовать событие ModeChanged. http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.formview.modechanged.aspx
обновить...
Попробуйте это
DropDownList ddl = FormView1.FindControl("cboClients") as DropDownList;
if (ddl != null) {
ddl.Enabled=false;
}