Bạn hiện đang ngoại tuyến, hãy chờ internet để kết nối lại

Làm thế nào để: Đăng bài bằng tay trở lại cho các sự kiện cụ thể trong một .aspx trang bằng cách sử dụng Visual Basic.NET

QUAN TRỌNG: Bài viết này được dịch bằng phần mềm dịch máy của Microsoft chứ không phải do con người dịch. Microsoft cung cấp các bài viết do con người dịch và cả các bài viết do máy dịch để bạn có thể truy cập vào tất cả các bài viết trong Cơ sở Kiến thức của chúng tôi bằng ngôn ngữ của bạn. Tuy nhiên, bài viết do máy dịch không phải lúc nào cũng hoàn hảo. Loại bài viết này có thể chứa các sai sót về từ vựng, cú pháp hoặc ngữ pháp, giống như một người nước ngoài có thể mắc sai sót khi nói ngôn ngữ của bạn. Microsoft không chịu trách nhiệm về bất kỳ sự thiếu chính xác, sai sót hoặc thiệt hại nào do việc dịch sai nội dung hoặc do hoạt động sử dụng của khách hàng gây ra. Microsoft cũng thường xuyên cập nhật phần mềm dịch máy này.

Nhấp chuột vào đây để xem bản tiếng Anh của bài viết này:328923
TÓM TẮT
Bài từng bước này mô tả cách thiết lập một .aspx Trang để các mã HTML được tạo ra sẽ đăng lại cho máy chủ trong phản ứng với các sự kiện cụ thể của một điều khiển. Ví dụ như mục đích, bài viết này sử dụng Internet Explorer Web điều khiển TreeView control.

Bất động sản AutoPostBack

  • Sự thật. Khi AutoPostBack là đúng cho một điều khiển, bộ điều khiển có thể đăng bài Quay lại máy chủ để đáp ứng với các sự kiện mà bạn không muốn gây ra một postback.

    Ví dụ, thiết lập AutoPostBack đến đúng vào TreeView kiểm soát gây ra một postback để đáp ứng với những sự kiện này: onExpand; onCollapse; onCheck; và onSelectedIndexChange.
  • Sai. Bằng cách đặt AutoPostBack thành False, bạn đăng bài trở lại bằng tay trong đáp ứng với một sự kiện cụ thể.

Tạo mã

Để đăng bài trở lại bằng tay để đáp ứng với onSelectedIndexChange sự kiện, hãy làm theo các bước sau.
  1. Tạo một ứng dụng Web, và sau đó đưa các TreeView điều khiển vào một trang .aspx.
  2. Trong .aspx trang, thiết lập các AutoPostBack tài sản của các TreeView kiểm soát để Sai.
  3. Trong các Các nút tài sản của TreeView, bấm vào các Bộ sưu tập elipsis (...) nút, và sau đó thêm một số nút và trẻ em để cácTreeView bộ sưu tập các nút.
  4. Xử lý các onload sự kiện cho các trang HTML, và sau đó gọi những initTree chức năng. Chức năng này bên khách hàng sẽ được tạo ra trong các Page_Load sự kiện cho trang .aspx.

    Trong chế độ xem HTML của các .aspx trang, thêm một handler cho các onload sự kiện để các nội dung từ khóa như sau:
    <body onload="initTree()">					
  5. Thêm mã sau đây từ đây Page_Load chức năng để riêng của bạn Page_Load chức năng trong các Mã-đằng sau lớp học cho các tập tin .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					

Giải thích về các mã

Làm thế nào các mã được phát triển

Mã được cung cấp trước đó trong bài viết này đã được phát triển bằng cách sử dụng các quy trình sau:
  • Một trang .aspx đã được phát triển và AutoPostBack Đối với các TreeView kiểm soát đã được thiết lập Sự thật.
  • .Aspx trang được xem trong trình duyệt Internet Explorer, và mã nguồn được lưu vào một file .html.
  • AutoPostBack Đối với các TreeView kiểm soát đã được thiết lập Sai, và sau đó các trang đã được xem một lần nữa trong trình duyệt.
  • So sánh hai tập tin và ghi nhận sự khác biệt đã giúp sản xuất mã được cung cấp trước đó trong bài viết này.

Thông tin thêm về các mã

  • Mã từ các Page_Load chức năng trong bài viết này ám mã sau đây trong các trình duyệt:
    <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>						
    Các initTree chức năng chạy khi trang HTML được nạp vào trình duyệt. Các initTree chức năng ghi đè các onSelectedIndexChange sự kiện của TreeView1 do đó các onSelectedIndexChange sự kiện sẽ được thêm vào hàng đợi sự kiện cho trang, và sau đó Đăng quay lại hệ phục vụ.
  • Dòng đầu tiên của các mới onSelectedIndexChange chức năng,
    if (event.oldTreeNodeIndex != event.newTreeNodeIndex)     this.queueEvent('onselectedindexchange', event.oldTreeNodeIndex + ',' + event.newTreeNodeIndex);						
    được lấy trực tiếp từ định nghĩa gốc cho các chức năng như được xác định trong tập tin đã lưu .html.
  • Thiết lập AutoPostBack cho TreeView để Sự thật hiển thị hình ảnh mã sau trong HTML:
    window.setTimeout('__doPostBack(\'TreeView1\',\'\')', 0, 'JavaScript');						
    Bởi vì các cơ chế postback (trong trường hợp này, __doPostBack) có thể thay đổi trong tương lai, tạo ra các chức năng trên máy chủ của bằng cách sử dụng đoạn mã sau:
    string strRef = Page.GetPostBackEventReference(TreeView1);					
    Tham khảo postback sự kiện sau đó được sử dụng trong Page_Load để tạo ra các PostBack sự kiện trên máy khách.
THAM KHẢO
Để biết thêm chi tiết, bấm vào các số bài viết sau để xem các bài viết trong cơ sở kiến thức Microsoft:
305140THÔNG TIN: ASP.Lộ trình NET

319441 Làm thế nào để: Tự động thêm các nút để một TreeView WebBrowser kiểm soát bằng cách sử dụng Visual Basic.NET

Cảnh báo: Bài viết này đã được dịch tự động

Thuộc tính

ID Bài viết: 328923 - Xem lại Lần cuối: 08/28/2011 07:28:00 - Bản sửa đổi: 2.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 KbMtvi
Phản hồi
>