ПРАКТИЧЕСКОЕ руководство: Учет вручную обратно конкретных событий в .aspx страницы с помощью Visual Basic.NET

Переводы статьи Переводы статьи
Код статьи: 328923 - Vizualiza?i produsele pentru care se aplic? acest articol.
Развернуть все | Свернуть все

В этой статье

Аннотация

Эта статья содержит пошаговые инструкции для настройки .aspx страницы таким образом, чтобы создаваемый код HTML будет учитывать на сервер в ответ на определенные события элемента управления. Целей, например, в данной статье использует элемент управления TreeView элементов управления Web Internet Explorer.

Свойство AutoPostBack

  • Значение true. Когда AutoPostBack имеет значение True для элемента управления элемент управления может выполнить учет сервер в ответ на события, не должны вызывать обратная передача.

    Например установка свойства AutoPostBack равным True в TreeView элемент управления вызывает обратную передачу в ответ на эти события: onExpand; onCollapse; onCheck; и onSelectedIndexChange.
  • Значение false. Путем установки свойства AutoPostBack равным False, то обратную вручную в ответ на определенное событие.

Создание кода

Выполнить учет вручную в ответ на onSelectedIndexChange событие, выполните следующие действия.
  1. Создать веб-приложение, а затем поместить TreeView элемент управления в ASPX-страницы.
  2. На странице ASPX, установить AutoPostBack свойства элемента TreeView Управление Значение false.
  3. В Узлы свойства элемента TreeView, нажмите кнопку Коллекция elipsis (...) и затем добавьте некоторые узлы и дочерние узлы дляTreeView Коллекция узлов.
  4. Обработка OnLoad события для HTML-страницу, а затем вызвать initTree функция. Эта функция со стороны клиента будет создан в Page_Load события для страницы ASPX.

    В режиме HTML ASPX-страница, добавьте обработчик для OnLoad события тело тег следующим образом:
    <body onload="initTree()">
    					
  5. Добавьте следующий код из этого Page_Load собственные функции Page_Load работать в кода класс для ASPX-файла.
    Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim strTreeName As String = "TreeView1"
        Dim strRef As String = Page.GetPostBackEventReference(TreeView1)
        Dim strScript As String = "<script language=""JavaScript""> " & vbCrLf & _
            "<!-- " & vbCrLf & _
            "	function initTree() { " & vbCrLf & _
            "		" & strTreeName & ".onSelectedIndexChange = function() { " & vbCrLf & _
            "			if (event.oldTreeNodeIndex != event.newTreeNodeIndex) " & vbCrLf & _
            "				this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex & ',' & event.newTreeNodeIndex); " & vbCrLf & _
            "			window.setTimeout('" & strRef.Replace("'", "\'") & "', 0, 'JavaScript'); " & vbCrLf & _
            "		} " & vbCrLf & _
            "	} " & vbCrLf & _
            "// --> " & vbCrLf & _
            "</script>"
    
        Page.RegisterClientScriptBlock("InitTree", strScript)
    End Sub
    					

Описание кода

Как разрабатывается код

Код, полученный ранее в этой статье был разработан с использованием Следующий процесс:
  • ASPX-страница была разработана и AutoPostBack для TreeView элемент управления был установлен Значение true.
  • Было просмотрено ASPX-страницу в обозревателе Internet Explorer и источник был сохранен файл с расширением .html.
  • AutoPostBack для TreeView элемент управления был установлен Значение false, а затем еще раз смотрели страницы в обозревателе.
  • Сравнение двух файлов, а также отметить различия помогли Создание кода, приведенного выше в этой статье.

Дополнительные сведения О коде

  • Код из Page_Load в данной статье функции выводит следующий код в обозреватель:
    <script language="JavaScript">
    <!-- 
        function initTree() { 
            TreeView1.onSelectedIndexChange = function() { 
                if (event.oldTreeNodeIndex != event.newTreeNodeIndex) 
                    this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex & ',' & event.newTreeNodeIndex); 
    
                window.setTimeout('__doPostBack(\'TreeView1\',\'\')', 0, 'JavaScript'); 
            } 
        } 
    // -->
    </script>
    						
    В initTree функция запускается при загрузке страницы HTML в обозревателе. В initTree функция переопределения onSelectedIndexChange события TreeView1 Таким образом, onSelectedIndexChange Событие добавлено в очередь событий страницы и затем отправки обратно на сервер.
  • В первой строке новой onSelectedIndexChange функции,
    if (event.oldTreeNodeIndex != event.newTreeNodeIndex) 
        this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex);
    						
    берется непосредственно из исходного определения функции как Определение сохраненных HTML-файла.
  • Параметр AutoPostBack для TreeView для Значение true Отображает следующий код HTML:
    window.setTimeout('__doPostBack(\'TreeView1\',\'\')', 0, 'JavaScript');
    						
    Поскольку механизм обратной передачи (в данном случае __doPostBack) могут измениться в будущем, создать функцию на сервере, с помощью следующего кода:
    string strRef = Page.GetPostBackEventReference(TreeView1);
    					
    Ссылки на событие обратной передачи используется в Page_Load для создания Обратная передача события на стороне клиента.

Ссылки

Для получения дополнительных сведений нажмите кнопку следующие номера статей базы знаний Майкрософт:
305140INFO: ASP.NET Путеводитель

319441 ПРАКТИЧЕСКОЕ руководство: Динамически добавьте узлы в элемент управления WebBrowser TreeView с помощью Visual Basic.NET
Ссылка на веб-элементами управления Internet Explorer
http://MSDN.Microsoft.com/en-us/library/ms528669 (VS.85) .aspx

Свойства

Код статьи: 328923 - Последний отзыв: 8 июня 2011 г. - Revision: 4.0
Информация в данной статье относится к следующим продуктам.
  • Microsoft ASP.NET 1.0
  • Microsoft Visual Basic .NET 2002 Standard Edition
  • Microsoft ASP.NET 1.1
  • Microsoft Visual Basic .NET 2003 Standard Edition
Ключевые слова: 
kbhowtomaster kbservercontrols kbmt KB328923 KbMtru
Переведено с помощью машинного перевода
ВНИМАНИЕ! Перевод данной статьи был выполнен не человеком, а с помощью программы машинного перевода, разработанной корпорацией Майкрософт. Корпорация Майкрософт предлагает вам статьи, переведенные как людьми, так и средствами машинного перевода, чтобы у вас была возможность ознакомиться со статьями базы знаний KB на родном языке. Однако машинный перевод не всегда идеален. Он может содержать смысловые, синтаксические и грамматические ошибки, подобно тому как иностранец делает ошибки, пытаясь говорить на вашем языке. Корпорация Майкрософт не несет ответственности за неточности, ошибки и возможный ущерб, причиненный в результате неправильного перевода или его использования. Корпорация Майкрософт также часто обновляет средства машинного перевода.
Эта статья на английском языке:328923

Отправить отзыв

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com