私は C# アプリケーションを作成していますが、同じ問題に遭遇しました (asp:Xml タグはポストバック間で保持されません)。C# で永続化するコードは次のとおりです。
//.aspx Presentation
<asp:Xml ID="xmlFormDisplay" runat="server"></asp:Xml>
//.aspx.cs Code Behind
private string formXSLT
{
get { return ViewState["FormXSLT"].ToString(); }
set { ViewState["FormXSLT"] = value; }
}
private string formXML
{
get { return ViewState["FormXML"].ToString(); }
set { ViewState["FormXML"] = value; }
}
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
...
}
xmlFormDisplay.TransformSource = formXSLT;
xmlFormDisplay.DocumentContent = formXML;
}
私は VB 開発者ではありませんが、これはうまくいくはずです (またはかなり近いものになるはずです):
//.aspx Presentation
<asp:Xml ID="xmlFormDisplay" runat="server"></asp:Xml>
//.aspx.vb Code Behind
Private Property FormXSLT As String
Get
Return ViewState["FormXSLT"].ToString()
End Get
Set(value As String)
ViewState["FormXSLT"] = value
End Set
End Property
Private Property FormXML As String
Get
Return ViewState["FormXML"].ToString()
End Get
Set(value As String)
ViewState["FormXML"] = value
End Set
End Property
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
...
End If
xmlFormDisplay.TransformSource = formXSLT
xmlFormDisplay.DocumentContent = formXML
End Sub