У меня есть пользовательский элемент управления, который помогает мне при асинхронных обратных передачах. Обычно я бы вызывал элемент управления непосредственно со стороны презентации, используя следующий код на странице ASPX:
<mytag:CustomControl runat="server">
html (or other text) goes here
</mytag:CustomControl>
Тем не менее, в моем текущем приложении мне нужно создать виртуальный элемент управления из кода, используя код, подобный следующему:
Dim myControl As myClass.CustomControl = New myClass.CustomControl
myControl.ID = "someID"
myControl.?????? = "html (or other text) goes here"
Me.Controls.Add(myControl)
При добавлении элемента управления на страницу динамически, как мне добавить информацию, которая обычно была бы между начальным и конечным тегами, если элемент управления был добавлен обычным, не динамическим способом?
Спасибо
Вот фактический контроль:
Protected Overloads Overrides Sub Render(ByVal writer As HtmlTextWriter)
Dim scriptmanagerPage As ScriptManager = ScriptManager.GetCurrent(Page)
If scriptmanagerPage Is Nothing Then
'Do nothing
Else
'See if we are in a postback
If scriptmanagerPage.IsInAsyncPostBack Then
'We are in a postback; register the script
Dim stringbuilderWorking As New StringBuilder()
MyBase.Render(New HtmlTextWriter(New StringWriter(stringbuilderWorking)))
Dim stringScript As String = stringbuilderWorking.ToString()
ScriptManager.RegisterStartupScript(Me, GetType(ScanWorkXAJAX), UniqueID, stringScript, False)
Else
'Not in a postback
MyBase.Render(writer)
End If 'In an async postback
End If 'Scriptmanager present
End Sub