santhishini Ответов: 1

Как получить идентификатор элемента меню В C# при создании меню в функции java script


Здесь основные меню создаются в слое пользовательского интерфейса


Подменю в функции Javascript



функция mmLoadMenus() {
если (окна.mm_menu_1003135956_0) вернуться;
window.mm_menu_1003135956_0 = новое меню("root", 130, 30, "Arial, Helvetica, sans-serif", 12, "#FFFFFF", "#003380", "#e67300", "#ffa851", "left", "middle", 3, 1, 1000, -5, 7, правда, правда, правда, 0, ложь, ложь);
mm_menu_1003135956_0.addMenuItem("Project Master", "location='../ProjectMaster/ProjHome.aspx?val='");
//mm_menu_1003135956_0.addMenuItem("Resource Master","location='../Resource/ResourceMaster.aspx?val='");
mm_menu_1003135956_0.addMenuItem("ресурс&усилителя;усилитель; nbsp;состав", "расположение='../DeliveryRoster/DeliveryRoster.аспн?Валь='");
//mm_menu_1003135956_0.("выделение&ампер addMenuItem;nbsp;с докладом", "расположение='../отчеты/AllocationFeedreport.страницы aspx'");
mm_menu_1003135956_0.addMenuItem("выделение&ампер;усилитель; nbsp;доклад", "расположение='../отчеты/распределения.страницы aspx'");


Теперь я хочу получить имена пунктов меню в коде C#.

&ЛТ;б&ГТ;то, что я пробовала:&ЛТ;/б&ГТ;

//Control mycontrolmenu = страница.Мастер.FindControl("Sow Management");
// MasterPage ctl00 = FindControl("lnkSOWCOB") как MasterPage;
//Элемента управления scriptmanager.RegisterStartupScript(это.Страница, Страница.GetType(), "text", "mmLoadMenus()", true);
//MenuItem item = NavigationMenu.Метод finditem(valuePath);
// Menu menu = (меню)страница.Мастер.FindControl("lnkResource");
//MenuItem child = новый MenuItem();
//string win = "../ProjectMaster/ProjHome.aspx?val='";
//string script = "mmLoadMenus(" + win + ");";
//строка text = "&ЛТ;курсор промежуток стиль=': указатель;' функция onclick='" + сценарий + "в'>текст&ЛТ;/службы&ГТ;";
//ребенок.Текст = текст;
//ребенок.Выбирается = ложь;
//ребенок.ChildItems.Remove = "../ProjectMaster/ProjHome.aspx?val='";
////Элемент menu1.Пункты[1].ChildItems.Добавить(дочерний);</pre>


Мастера

<%--- - %>

Изменение Ресурсов

<%--- - %>

СВИНОМАТКА / ПОЧАТОК



Richard MacCutchan

Пожалуйста, отредактируйте свой вопрос и используйте правильные теги <pre> вокруг кода, чтобы он был читабельным. Также удалите строки кода, которые закомментированы, так как они просто добавляют беспорядок.

F-ES Sitecore

В коде, который вы разместили, нет ссылки на идентификаторы, поэтому мы не можем сказать, что это за идентификаторы, что создается и т. д. Однако идентификаторы не передаются в код c#-behind при обратной передаче, вместо этого передается атрибут "name".

1 Ответов

Рейтинг:
1

Vincent Maverick Durano

Быстрый ответ: Вы не можете.

Сервер (ваш код C#) ничего не знает о том, что происходит в клиентском браузере (ваш JavaScript), поэтому ваша серверная часть FindControl() метод не сработает. Однако вы можете попробовать использовать этот метод Request.Forms() вместо этого и используйте name атрибут вместо того, чтобы ID- но я не гарантирую , что это сработает.