Если stanza.io поддерживает NativeScript, тогда не должно быть никаких ограничений.
На своем основном пейджере GitHub они говорят, что это Современный XMPP в браузере с JSON API . Так что это в основном для браузера env, и я не уверен насчет NativeScript.
В качестве альтернативы - существует библиотека xmpp.js , которая поддерживает NativeScript. Их документ немного дерьмовый, но с помощью кода src есть способ успешно его интегрировать.
Существует руководство о том, как использовать его для ReactNative, но вы можете кое-что из него использовать для NativeScript, особенно те, которые связаны с самой библиотекой. https://medium.com/@connectycube/xmpp-real-time-chat-in-react-native-8d6d5d23dd47
Также вы можете использовать некоторые готовые платформы высокого уровня XMPP для чата например, https://connectycube.com/2018/12/11/connectycube-textchat-code-sample-for-nativescript/ В этом случае вам не нужно разбираться в установке и мониторинге сервера XMPP
Что относительно чего-то подобного этому в Вашей разметке в каждом текстовое поле и средства управления флажком?
Visible=<%= Eval("type").tostring() == "text") %>
В Вашем повторителе отбросьте Панель, затем создайте обработчик событий для события привязки данных повторителя и программно создайте TextBox или CheckBox и добавьте его как дочерний элемент управления Панели. Необходимо смочь заставить DataItem от события args получать информацию как атрибут "типа" или значения для питания текстовых свойств или информации о CSS и т.д.
Я пошел бы с предложением mspmsp. Вот быстрый и грязный код как пример его:
Поместите это в свой aspx:
<asp:Repeater ID="myRepeater" runat="server" OnItemCreated="myRepeater_ItemCreated">
<ItemTemplate>
<asp:PlaceHolder ID="myPlaceHolder1" runat="server"></asp:PlaceHolder>
<br />
</ItemTemplate>
</asp:Repeater>
И это в Вашем codebehind:
dim plh as placeholder
dim uc as usercontrol
protected sub myRepeater_ItemCreated(object sender, RepeaterItemEventArgs e)
if TypeOf e Is ListItemType.Item Or TypeOf e Is ListItemType.AlternatingItem Then
plh = ctype(e.item.findcontrol("myPlaceHolder1"), Placeholder)
uc = Page.LoadControl("~/usercontrols/myUserControl.ascx")
plh.controls.add(uc)
end if
end sub