Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何在回发期间持久保存XMLDocument?_Vb.net_Postback_Xmldocument_Persist - Fatal编程技术网

Vb.net 如何在回发期间持久保存XMLDocument?

Vb.net 如何在回发期间持久保存XMLDocument?,vb.net,postback,xmldocument,persist,Vb.net,Postback,Xmldocument,Persist,如何在回发时预先列出XML文档 我要在SaveViewState()方法中保留此xmlDocument: 在我的页面中加载 If Not IsPostBack Then Me._xmlSaveDispatch = New XmlDocument Private Property XMLSaveDispatch As XmlDocument Get Return _xmlSaveDispatch End Get Set(value As XmlDocume

如何在回发时预先列出XML文档

我要在SaveViewState()方法中保留此xmlDocument:

在我的页面中加载

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 
我正在编写一个C#应用程序,遇到了同样的问题(asp:Xml标记在回发之间不存在)。下面是我在C#中保存它的代码:

/.aspx演示文稿
//.aspx.cs代码隐藏
私有字符串formXSLT
{
获取{return ViewState[“FormXSLT”].ToString();}
设置{ViewState[“FormXSLT”]=value;}
}
私有字符串formXML
{
获取{return ViewState[“FormXML”].ToString();}
设置{ViewState[“FormXML”]=value;}
}
受保护的无效页面加载(对象发送方、事件参数e)
{
如果(!IsPostBack)
{
...
}
xmlFormDisplay.TransformSource=formXSLT;
xmlFormDisplay.DocumentContent=formXML;
}
我不是一个很好的VB开发人员,但这应该是可行的(或者非常接近):

/.aspx演示文稿
//.aspx.vb代码隐藏
私有属性FormXSLT作为字符串
得到
返回ViewState[“FormXSLT”].ToString()
结束
设置(值为字符串)
ViewState[“FormXSLT”]=值
端集
端属性
私有属性FormXML作为字符串
得到
返回ViewState[“FormXML”].ToString()
结束
设置(值为字符串)
ViewState[“FormXML”]=值
端集
端属性
受保护的子页加载(ByVal sender作为对象,ByVal e作为System.EventArgs)处理Me.Load
如果不是的话,我会回来的
...
如果结束
xmlFormDisplay.TransformSource=formXSLT
xmlFormDisplay.DocumentContent=formXML
端接头

这是VB.NET和ASP.NET吗?问题还不清楚。您试图从浏览器发送什么以及希望您保留什么?很抱歉,问题不清楚:我有XML文档,在按钮单击时加载和XML字符串…但该按钮是服务器按钮,它确实回发并丢失了值。我想持久保存该XML文档?您能否只共享显示按钮点击处理程序的代码,并将其添加到您的问题中?Private?xmlSaveDispatch As XmlDocument In my Page?Load。。。如果不是IsPostBack,则为Me._xmlSaveDispatch=New XmlDocument私有属性xmlSaveDispatch As XmlDocument Get Return _xmlsavedispatchend Get Set(值为XmlDocument)_xmlsavespatch=value End Set End Property Button Click Event:Protected Sub dispatchButton_OnSave(发送方作为对象,e作为事件参数)处理dispatchButton.SaveDispatch xmlsavespatch=_objDispatchInfo.GetSaveXML()End Subthis不起作用。什么东西被发回了?领域?文件夹?GetSaveXml在做什么?
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 
//.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;
}
//.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