2017-05-10 8 views
2

私は、ユーザーが(画面上の)グリッド内のリンクをクリックしたときにユーザーがリンクをクリックしたときに特定のテキストがGridHyperLinkのNavigateUrlに存在するかどうかをチェックする方法は?

`<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を使用して)のリンク(ダイナミック)の前にそのテキストを追加し、そのウェブアドレスにリダイレクトする必要があります。

これを実現する方法は、誰でも助けてくれますか、ありがとう!

答えて

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 
+0

こんにちはrgorr、ありがとうございます!それは素晴らしい作品です! –

関連する問題