当用户点击链接时,如何检查GridHyperLink的NavigateUrl中是否存在特定文本?

时间:2017-05-10 13:51:17

标签: javascript asp.net vb.net forms telerik

我在网格中有一个超级链接,如下所示

`<telerik:GridHyperLinkColumn HeaderText="Website Link" DataTextField="LinkAddress" DataTextFormatString="{0}" DataNavigateUrlFields="LinkAddress" DataNavigateUrlFormatString="{0}"
                    ItemStyle-VerticalAlign="Top" HeaderStyle-Font-Bold="true" HeaderStyle-Font-Size="Small" HeaderStyle-ForeColor="Black" Target="_blank" >`

现在当用户点击网格中的链接(在屏幕上)时,我应该检查链接是否包含文本“http://”,如果不是,我应该在链接之前添加该文本(动态)在我的aspx页面(使用javascript),然后重定向到该webaddress。

现在如何实现这一点,任何人都可以帮助我,谢谢!

1 个答案:

答案 0 :(得分:0)

有多种方法可以做到这一点。我会在网格ItemDataBound事件后面的代码中执行此操作,因此您不必调用javascript函数。

Private Sub grid_ItemDataBound(sender As Object, e As GridItemEventArgs)
    If TypeOf e.Item Is GridDataItem Then
        Dim item As GridDataItem = DirectCast(e.Item, GridDataItem)
        Dim link As HyperLink = DirectCast(item("ColumnUniqueName").Controls(0), HyperLink)
        Dim sOldNavigateUrl as String = link.NavigateUrl
        If Not ((sOldNavigateUrl.Contains("http://") Or sOldNavigateUrl.Contains("https://")) Then
            link.NavigateUrl = "http://" & sOldNavigateUrl
        End If
    End If
End Sub