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 变量中写入了值。
谢谢大家的宝贵时间。
我在一个 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 变量中写入了值。
谢谢大家的宝贵时间。