Tôi có một ứng dụng ASP.NET Web Forms. Trong ứng dụng của tôi, tôi có GridView hoạt động trơn tru. Tôi có một số trường văn bản và trường cuối cùng là <asp:hyperlinkfield>
.Làm thế nào để thay thế chương trình HyperLinkField trong ASP.NET GridView
Bây giờ tôi muốn thay đổi trường theo chương trình bằng cách đặt liên kết đơn giản thay vì hyperlinkfield
nếu điều kiện cụ thể được đáp ứng. Vì vậy, tôi bắt sự kiện onRowDataBound
:
Sub myGridView_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles myGridView.RowDataBound
If (condition) Then
Dim link = New HyperLink()
link.Text = "login"
link.NavigateUrl = "login.aspx"
e.Row.Cells(3).Controls.Add(link)
End If
End If
End Sub
nơi n là các tế bào nơi hyperlinkfield
được đặt. Với mã này, nó chỉ thêm vào hyperlinkfield
mới link
. Làm thế nào tôi có thể thay thế nó?
PS: Mã này là trong VB6 nhưng Tôi là một C# lập trình viên, câu trả lời với cả hai ngôn ngữ được chấp nhận
Tôi cung cấp cho bạn câu trả lời nhưng đầu tiên là một trong những tôi đang tìm kiếm. Lý do chính là 'HyperLinkField' của tôi có các thuộc tính khác được liên kết với dữ liệu và do đó tôi không thể thay thế Text và NavigateUrl. Điều đáng ngạc nhiên là không ai nhận thấy rằng điều khiển tôi phải loại bỏ là một 'HyperLinkField' khác với' HyperLink'. Tôi đoán giải pháp đầu tiên hoạt động trơn tru trừ khi có một số JavaScript được kết nối với việc làm mới dữ liệu của 'GridView' nhưng nó không phải là trường hợp của tôi. Cảm ơn nhiều! – CiccioMiami