Я разрабатываю страницу для управления правами в приложении ASP.NET. Я хочу знать, существует ли способ легко перечислить все элементы управления моих страниц.Список всех элементов управления всех веб-страниц приложения на странице
Этот метод перечисляет все страницы в DropDownList:
//I take all aspx and ascx pages from my solution
foreach (String item in Directory.GetFiles(Server.MapPath("~")).
Where(key => key.EndsWith("aspx") || key.EndsWith("ascx")))
{
String[] itemSplit = item.Split('\\');
listePages.Items.Add(new ListItem(itemSplit[itemSplit.Length - 1], itemSplit[itemSplit.Length - 1]));
}
И это событие срабатывает, когда пользователь выбирает страницу:
Page g = (Page)Activator.CreateInstance(Type.GetType(pageName));
foreach (Control c in g.Form.Controls)
{
this.listeControls.Items.Add(new ListItem(c.ClientID, c.ClientID));
}
Но это событие вызвало NullReferenceException
Спасибо для вашей помощи.
Я тебя не понял. Вы хотите найти все файлы '.aspx' и' .ascx' из каталога? Или вы пытаетесь это прямо из решения? –