#asp.net
#asp.net
Вопрос:
В следующем коде
<asp:TreeNode Text="node text here <a>Click</a>" Value="1" Expanded="False">
<asp:TreeNode Text="er" Value="0"></asp:TreeNode>
<asp:TreeNode Text="err" Value="1"></asp:TreeNode>
<asp:TreeNode Text="err" Value="2"></asp:TreeNode>
</asp:TreeNode>
У меня есть пользовательский код в событии ‘SelectedNodeChanged’. Это событие запускается, когда я нажимаю на текст узла («текст узла здесь»), но не запускается, когда я нажимаю на гиперссылку (привязанный тег «Click»). Как я могу заставить тег привязки также щелкать, чтобы он вел себя как ‘selectednodechanged’.
Комментарии:
1. вам необходимо предоставить код..
2. почему вы хотите добавить тег <a> ?
3. @Muhammad Akhtar : Это требование моего проекта. Мне нужен текст узла в элементе управления treeview и гиперссылка рядом с текстом каждого узла. Прямо сейчас, даже если текст узла и гиперссылка <a tag hyper находятся в одной строке, щелчок по гиперссылке не запускает событие ‘selectednodechanged’… Я должен явно щелкнуть по тексту узла, чтобы вызвать это.
4. @Akram Shahda — Спасибо, что взглянули. Это то, что у меня есть на данный момент. конец </asp:treenode> отсутствует в пятой строке кода выше…. У меня есть пара строк для тестирования кода в событии selectednodechanged, но это не имеет значения..
5. Внесены изменения в код .. пожалуйста, обратите внимание.
Ответ №1:
Щелчок по элементу и вызов обратной передачи при выборе узла должны произойти, потому что на узле должно произойти __doPostBack
срабатывание a; поскольку гиперссылка обрабатывает свой собственный щелчок, вы могли бы попробовать также обработать событие click для ссылки, а затем вручную вызвать __doPostBack
самостоятельно. Взгляните на отображаемую разметку и найдите любые существующие __doPostBack
инструкции, и вам придется эмулировать это.
HTH.
Комментарии:
1. Вы имеете в виду вот так.. <a onClick=»Somefunction();»> а затем в javascript напишите _doPostBack для этой функции. Это идея? не могли бы вы уточнить, если можете .. спасибо
2. Да, или <a onclick=»__doPostBack(‘<идентификатор элемента управления>’, ‘<команда>’);»> Содержимое</a>. Проблема в том, что комбинация идентификатор элемента управления / команда — это уникальная комбинация, в которой вам нужно убедиться, что вы передаете правильные значения, поэтому вы должны изучить содержимое…
3. Ошибка 4 System.Web.UI.WebControls. В TreeNodeCollection должны быть элементы типа ‘System.Web.UI.WebControls. TreeNode’. ‘a’ имеет тип ‘System.Web.UI.HtmlControls. HtmlAnchor’ — Когда я посмотрел исходный код и добавил два параметра для ControlID и Command. Я что-то пропустил?
4. В HTML? Если HTML, вы не должны получать подобную ошибку на стороне сервера… Похоже, что он интерпретирует <a> как серверный элемент управления. Определен ли у вас runat =»сервер»? Это не должно быть установлено…
5. Но тег <a> добавляется внутри текстового свойства элемента управления TreeView … нигде не определен runat =»server». Вот код, который у меня есть на данный момент. <asp:TreeNode Text=»Текст здесь <a onClick=»__doPostBack(‘ctl00 $ MainContent $ TabContainer1 $ TabPanel3 $ treeView1 amp; # 39’, ‘sImgSfrt amp; # 39’);»> Добавить </a>» Значение =»imgsf» Расширенное =»False»> <asp:TreeNode Text= Значение «asdasd»=»0»></asp:TreeNode> </asp:TreeNode>