Diễn Đàn » Hướng Dẫn Lập trình

Thiết lập focus cho điều kiểm

0 trả lời, 320 lượt xem — Trang 1 / 1
<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.
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 = "&lt;script language='javascript'&gt;" & _      "document.getElementById(""" & ctrl.ClientID & _     
 """).focus
script&gt;"      
 ' 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)”
Đăng nhập để trả lời
0