Как это упростить, 2 метода в классе идентичны.
Первый класс.
Public Class Gui
Inherits System.Web.UI.Page
Public Sub CreateStyleLink(ByVal StyleArray() As String)
Dim StrStyleLink As String
For Each StyleName In StyleArray
StrStyleLink = [Global].ArrStyles(StyleName)
Dim ObjScript As New HtmlGenericControl("link")
ObjScript.Attributes.Add("rel", "Stylesheet")
ObjScript.Attributes.Add("type", "text/css")
ObjScript.Attributes.Add("href", StrStyleLink)
Me.Page.Header.Controls.Add(ObjScript)
Next
End Sub
Public Sub CreateScriptLink(ByVal ScriptArray() As String)
Dim ScriptLink As String
For Each ScriptName In ScriptArray
ScriptLink = [Global].ArrScripts(ScriptName)
Dim ObjScript As New HtmlGenericControl("script")
ObjScript.Attributes.Add("type", "text/javascript")
ObjScript.Attributes.Add("src", ScriptLink)
Me.Page.Header.Controls.Add(ObjScript)
Next
End Sub
Public Sub SetSelectedMenu(ByVal MenuName As String, Optional ByRef ObjPage As Page = Nothing)
Dim ObjMenu As New HtmlGenericControl
If ObjPage Is Nothing Then
ObjMenu = MyBase.Page.FindControl(MenuName)
Else
ObjMenu = ObjPage.FindControl(MenuName)
End If
ObjMenu.Attributes.Add("class", "selected")
End Sub
Public Sub ExecuteScript(ByVal ScriptName As String, Optional ByVal ScriptParam As String = "")
Dim requestSM As ScriptManager = ScriptManager.GetCurrent(Me.Page)
If Not requestSM Is Nothing And requestSM.IsInAsyncPostBack Then
ScriptManager.RegisterStartupScript(Me.Page, Me.GetType, ScriptName, ScriptName + "('" + ScriptParam + "');", True)
Else
Me.Page.ClientScript.RegisterStartupScript(Me.GetType, ScriptName, ScriptName + "('" + ScriptParam + "');", True)
End If
End Sub
End Class
Второй класс.
Public Class GuiControl
Inherits System.Web.UI.UserControl
Public Sub CreateStyleLink(ByVal StyleArray() As String)
Dim StrStyleLink As String
For Each StyleName In StyleArray
StrStyleLink = [Global].ArrStyles(StyleName)
Dim ObjScript As New HtmlGenericControl("link")
ObjScript.Attributes.Add("rel", "Stylesheet")
ObjScript.Attributes.Add("type", "text/css")
ObjScript.Attributes.Add("href", StrStyleLink)
Me.Page.Header.Controls.Add(ObjScript)
Next
End Sub
Public Sub CreateScriptLink(ByVal ScriptArray() As String)
Dim ScriptLink As String
For Each ScriptName In ScriptArray
ScriptLink = [Global].ArrScripts(ScriptName)
Dim ObjScript As New HtmlGenericControl("script")
ObjScript.Attributes.Add("type", "text/javascript")
ObjScript.Attributes.Add("src", ScriptLink)
Me.Page.Header.Controls.Add(ObjScript)
Next
End Sub
Public Sub ExecuteScript(ByVal ScriptName As String, Optional ByVal ScriptParam As String = "")
Dim requestSM As ScriptManager = ScriptManager.GetCurrent(Me.Page)
If Not requestSM Is Nothing And requestSM.IsInAsyncPostBack Then
ScriptManager.RegisterStartupScript(Me.Page, Me.GetType, ScriptName, ScriptName + "('" + ScriptParam + "');", True)
Else
Me.Page.ClientScript.RegisterStartupScript(Me.GetType, ScriptName, ScriptName + "('" + ScriptParam + "');", True)
End If
End Sub
End Class