<Bài viết đã được chỉnh sửa lúc 2007-04-12 10:32:33dvbendoi>
Bạn muốn chỉ định điều kiểm nào sẽ nhận focus khi trang được thể hiện và gửi cho người dùng.
Tạo một lệnh JavaScript để thiết lập focus, và thêm nó vào trang bằng phương thức Page.RegisterStartupScript.
Các điều kiểm web ASP.NET không cung cấp cách nào để thiết lập động focus cho điều kiểm. Chúng cung cấp thuộc tính TabIndex cho phép thiết lập thứ tự tab, nhưng thuộc tính này chỉ áp dụng cho Microsoft Internet Explorer và không thể được sử dụng để thiết lập focus cho điều kiểm mà bạn chọn. Để vượt qua hạn chế này, bạn cần sử dụng mã JavaScript.
Thủ tục dưới đây sẽ thực hiện công việc này. Nó nhận vào một tham chiếu đến bất kỳ đối tượng điều kiểm nào, thu lấy clientID kết giao (mã JavaScript phải sử dụng ID này để tìm đến điều kiểm), rồi xây dựng và đăng ký kịch bản thiết lập focus.
Nếu thêm thủ tục này vào một Web Form, bạn có thể gọi SetFocus khi cần. Ví dụ dưới đây sẽ thiết lập focus khi trang nạp lần đầu tiên:
Trích từ “Các giải pháp lập trình VISUAL BASIC .NET (tập 2)”
Tạo một lệnh JavaScript để thiết lập focus, và thêm nó vào trang bằng phương thức Page.RegisterStartupScript.
Các điều kiểm web ASP.NET không cung cấp cách nào để thiết lập động focus cho điều kiểm. Chúng cung cấp thuộc tính TabIndex cho phép thiết lập thứ tự tab, nhưng thuộc tính này chỉ áp dụng cho Microsoft Internet Explorer và không thể được sử dụng để thiết lập focus cho điều kiểm mà bạn chọn. Để vượt qua hạn chế này, bạn cần sử dụng mã JavaScript.
Thủ tục dưới đây sẽ thực hiện công việc này. Nó nhận vào một tham chiếu đến bất kỳ đối tượng điều kiểm nào, thu lấy clientID kết giao (mã JavaScript phải sử dụng ID này để tìm đến điều kiểm), rồi xây dựng và đăng ký kịch bản thiết lập focus.
Private Sub SetFocus(ByVal ctrl As Control)
' Định nghĩa lệnh JavaScript.
' Chuyển focus đến điều kiểm mà bạn muốn.
Dim SetFocus As String = "<script language='javascript'>" & _ "document.getElementById(""" & ctrl.ClientID & _
""").focus
script>"
' Thêm mã JavaScript vào trang.
ctrl.Page.RegisterStartupScript("SetFocus", SetFocus)
End Sub
Nếu thêm thủ tục này vào một Web Form, bạn có thể gọi SetFocus khi cần. Ví dụ dưới đây sẽ thiết lập focus khi trang nạp lần đầu tiên:
Private Sub Page_Load(ByVal sender As System.Object,
_ ByVal e As System.EventArgs) Handles MyBase.Load
If Not Me.IsPostBack Then
' Chuyển focus đến một TextBox cụ thể.
SetFocus(TextBox3)
End If
End Sub
Trích từ “Các giải pháp lập trình VISUAL BASIC .NET (tập 2)”