Reponse.Write 在另一个aspx页面输出

Reponse.Write output in another aspx page

我在一个 aspx 页面上有以下 page_load 方法。现在,我想在字符串变量的另一个 aspx 页面中获取字符串 xmlData。有没有办法可以在另一个页面上获取 xmlData 变量的值?

protected void Page_Load(object sender, System.EventArgs e)
        {
            string xmlData = "text for this example"
            Response.Write(xmlData);
        }
protected void Page_Load(object sender, System.EventArgs e)
    {
        string xmlData = "text for this example";
        Session["xmlData"] = xmlData;
    }

protected void Page_Load(object sender, System.EventArgs e)
    {
        string xmlData = "text for this example";
        ViewState["xmlData"] = xmlData;
    }

您可以使用session或ViewState将字符串数据存储在另一个页面中。

session一直保留到整个session页面,需要销毁。 就像 Session["xmlData"]="".

下一页ViewState变量自动销毁

在这里您可以找到发布 xml http://www.codeproject.com/Articles/10430/Post-XML-Data-to-an-ASP-NET-Page-using-C 的完整解决方案: 发送 xml:

 WebRequest req = null;
 WebResponse rsp = null;
 try
 {
  string fileName = "C:\test.xml";
  string uri = "http://localhost/PostXml/Default.aspx";
  req = WebRequest.Create(uri);
  //req.Proxy = WebProxy.GetDefaultProxy(); // Enable if using proxy
  req.Method = "POST";        // Post method
  req.ContentType = "text/xml";     // content type
  // Wrap the request stream with a text-based writer
  StreamWriter writer = new StreamWriter(req.GetRequestStream());
  // Write the XML text into the stream
  writer.WriteLine(this.GetTextFromXMLFile(fileName));
  writer.Close();
  // Send the data to the webserver
  rsp = req.GetResponse();

 }
 catch(WebException webEx)
 {

 }
 catch(Exception ex)
 {

 }
 finally
 {
  if(req != null) req.GetRequestStream().Close();
  if(rsp != null) rsp.GetResponseStream().Close();
 }

private string GetTextFromXMLFile(string file)
{
 StreamReader reader = new StreamReader(file);
 string ret = reader.ReadToEnd();
 reader.Close();
 return ret;
}

阅读xml:

private void Page_Load(object sender, EventArgs e)
  {
     page.Response.ContentType = "text/xml";
    // Read XML posted via HTTP
    StreamReader reader = new StreamReader(page.Request.InputStream);
    String xmlData = reader.ReadToEnd(); 
}

基本上就是这个结构。

//你不能从前端加载这个页面

public partial class page1
{
protected void Page_Load(object sender, System.EventArgs e)
        {
            string xmlData = "text for this example"
            Response.Write(xmlData);
        }
}

//第二页 - 此页面可以在单击按钮时从前端加载

public partial class page2
{

protected void Page_Load(object sender, System.EventArgs e)
        {
            string xmlData = //code here to get string from page1
        }
}

下面的代码对我有用 -

StringWriter writer = new StringWriter();
Server.Execute("/page1.aspx", writer);

现在,writer 在 page1.aspx 的 xmlData 变量中写入了值。

谢谢大家的宝贵时间。