如何在回发期间保留XMLDocument?

问题描述:

如何在回发时使用XML文档?如何在回发期间保留XMLDocument?

我有这样的XmlDocument在SaveViewState坚持()方法:

Private _xmlSaveDispatch As XmlDocument = New XmlDocument 

在我的Page_Load ...

If Not IsPostBack Then 
    Me._xmlSaveDispatch = New XmlDocument 

Private Property XMLSaveDispatch As XmlDocument 
    Get 
    Return _xmlSaveDispatch 
    End Get 

    Set(value As XmlDocument) 
     _xmlSaveDispatch = value 
    End Set 
End Property 

Button Click Event: 
Protected Sub dispatchButton_OnSave(sender As Object, e As EventArgs) _ 
    Handles dispatchButtons.SaveDispatch 
    XMLSaveDispatch = _objDispatchInfo.GetSaveXML() 
End Sub 
+0

这是VB.NET和ASP.NET?这个问题还不清楚。你想从浏览器发送什么,你想要坚持什么? – rene 2011-12-27 17:04:36

+0

对不清楚的问题: 我有XML文档加载和按钮点击xml字符串...但该按钮是服务器按钮,它确实发回和丢失的价值。我坚持XML文档? – usergaro 2011-12-27 18:33:03

+0

你能分享一下显示Button_click处理程序的代码并将它添加到你的问题中吗? – rene 2011-12-27 18:37:01

我写一个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