У меня есть форма на моей странице aspx, содержащая различные элементы управления, расположенные с использованием таблицы. Существует DDL «cboClients», который мне нужно включить или отключить в зависимости от роли в режиме редактирования.Как получить доступ к выпадающему списку из EditItemTemplate FormView
Проблема в том, что я не могу получить этот контроль с помощью метода 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 режим изменилось.
Может ли кто-нибудь предоставить мне правильное решение?
Спасибо, что поделились своим временем.
Спасибо Раджа, но я также использовал это. – IrfanRaza
Спасибо Радж, что сработало для меня. Но можете ли вы сказать, в чем разница между кастингом и использованием оператора «как»? – IrfanRaza
Оператор as как литой, за исключением того, что он дает нулевое значение для отказа преобразования, а не для создания исключения. http://msdn.microsoft.com/en-us/library/cscsdfbt(vs.71).aspx –