Hi everyone,
I am trying to register this client script but for some reason i cant access Page.ClientScript
This is my code, it takes a datatable in and formats the data that i want. My concern is to find out how to get the javascript to register on the page
Any help would be apprieciated.
Imports Microsoft.VisualBasic
Public Class ViewDataForObject
Shared Function FormatViewableDataInTable(ByVal oDT As Data.DataTable) As Table
Dim i As Integer
Dim oDR As Data.DataRow
Dim SingularUserName As String
Dim FieldValue As String
Dim TypeOfLink As String
Dim ValueForLink As String
Dim cLabel As HyperLink
Dim cData As Label
Dim TableWithData As New Table
TableWithData.CellPadding = 1
TableWithData.CellSpacing = 0
TableWithData.Width = Unit.Percentage(100)
For i = 0 To oDT.Rows.Count - 1
oDR = oDT.Rows.Item(i)
SingularUserName = oDR.Item("SingularUserName").ToString
FieldValue = oDR.Item("FieldValue").ToString
If Not oDR.Item("TypeOfLink") Is DBNull.Value Then
TypeOfLink = oDR.Item("TypeOfLink").ToString
ValueForLink = oDR.Item("ValueForLink").ToString
Else
TypeOfLink = String.Empty
ValueForLink = String.Empty
End If
cLabel = FormatLabel(SingularUserName, TypeOfLink, ValueForLink)
cData = FormatData(FieldValue)
Next
Return TableWithData
End Function
Shared Function FormatLabel(ByVal ScreenName As String, ByVal TypeOfLink As String, ByVal LinkData As String) As HyperLink
Dim uLabel As New HyperLink
uLabel.Text = ScreenName
If Not TypeOfLink = String.Empty Then
uLabel.Style.Add("font-weight", "bold")
Select Case TypeOfLink
Case "CLIPBOARD"
Dim jsScript As String
Dim oAddress As New HiddenField
LinkData = Replace(LinkData, "|", vbCrLf)
oAddress.ID = "sysCopyAddress"
oAddress.Value = LinkData
jsScript = "<script language=""Javascript"">"
jsScript += "function CopyAddress() { "
jsScript += "lbl = document.getElementById(" & oAddress.ClientID & ").createTextRange();"
jsScript += "lbl.execCommand(""Copy""); "
jsScript += "alert('The address has been copied to your clipboard'); } </script>"
uLabel.Controls.Add(oAddress)
Dim clientScript as clientscriptmanager = page.clientscript ' CANT GET REFERENCE HERE TO PAGE.CLIENTSCRIPT
If Not (clientScript.IsClientScriptBlockRegistered("CopyAddress")) Then
clientScript.RegisterClientScriptBlock(GetType(), "CopyAddress", jsScript)
End If
End If
Return uLabel
End Function
Shared Function FormatData(ByVal Val As String) As Label
Dim uLabel As New Label
uLabel.Text = Val & " "
uLabel.Style.Add("font-family", "Verdana")
uLabel.Style.Add("font-size", "X-Small")
Return uLabel
End Function
End Class
End Namespace
I am trying to register this client script but for some reason i cant access Page.ClientScript
This is my code, it takes a datatable in and formats the data that i want. My concern is to find out how to get the javascript to register on the page
Any help would be apprieciated.
Imports Microsoft.VisualBasic
Public Class ViewDataForObject
Shared Function FormatViewableDataInTable(ByVal oDT As Data.DataTable) As Table
Dim i As Integer
Dim oDR As Data.DataRow
Dim SingularUserName As String
Dim FieldValue As String
Dim TypeOfLink As String
Dim ValueForLink As String
Dim cLabel As HyperLink
Dim cData As Label
Dim TableWithData As New Table
TableWithData.CellPadding = 1
TableWithData.CellSpacing = 0
TableWithData.Width = Unit.Percentage(100)
For i = 0 To oDT.Rows.Count - 1
oDR = oDT.Rows.Item(i)
SingularUserName = oDR.Item("SingularUserName").ToString
FieldValue = oDR.Item("FieldValue").ToString
If Not oDR.Item("TypeOfLink") Is DBNull.Value Then
TypeOfLink = oDR.Item("TypeOfLink").ToString
ValueForLink = oDR.Item("ValueForLink").ToString
Else
TypeOfLink = String.Empty
ValueForLink = String.Empty
End If
cLabel = FormatLabel(SingularUserName, TypeOfLink, ValueForLink)
cData = FormatData(FieldValue)
Next
Return TableWithData
End Function
Shared Function FormatLabel(ByVal ScreenName As String, ByVal TypeOfLink As String, ByVal LinkData As String) As HyperLink
Dim uLabel As New HyperLink
uLabel.Text = ScreenName
If Not TypeOfLink = String.Empty Then
uLabel.Style.Add("font-weight", "bold")
Select Case TypeOfLink
Case "CLIPBOARD"
Dim jsScript As String
Dim oAddress As New HiddenField
LinkData = Replace(LinkData, "|", vbCrLf)
oAddress.ID = "sysCopyAddress"
oAddress.Value = LinkData
jsScript = "<script language=""Javascript"">"
jsScript += "function CopyAddress() { "
jsScript += "lbl = document.getElementById(" & oAddress.ClientID & ").createTextRange();"
jsScript += "lbl.execCommand(""Copy""); "
jsScript += "alert('The address has been copied to your clipboard'); } </script>"
uLabel.Controls.Add(oAddress)
Dim clientScript as clientscriptmanager = page.clientscript ' CANT GET REFERENCE HERE TO PAGE.CLIENTSCRIPT
If Not (clientScript.IsClientScriptBlockRegistered("CopyAddress")) Then
clientScript.RegisterClientScriptBlock(GetType(), "CopyAddress", jsScript)
End If
End If
Return uLabel
End Function
Shared Function FormatData(ByVal Val As String) As Label
Dim uLabel As New Label
uLabel.Text = Val & " "
uLabel.Style.Add("font-family", "Verdana")
uLabel.Style.Add("font-size", "X-Small")
Return uLabel
End Function
End Class
End Namespace