Reponse.Write выход на другой странице aspx
У меня ниже метод page_load на одной странице aspx. Теперь я хочу получить строку xmlData на другой странице aspx в строковой переменной. Есть ли способ, которым я могу получить значение переменной xmlData на другой странице?
protected void Page_Load(object sender, System.EventArgs e)
{
string xmlData = "text for this example"
Response.Write(xmlData);
}
4 ответа
У меня это работает с кодом ниже -
StringWriter writer = new StringWriter();
Server.Execute("/page1.aspx", writer);
Теперь Writer имеет значение, которое было записано в переменной xmlData в page1.aspx.
Спасибо, ребята, за ваше время.
Это структура в основном.
// Вы не можете загрузить эту страницу из внешнего интерфейса
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
}
}
Здесь вы можете найти полное решение для публикации 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();
}
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;
}
Вы можете использовать сеанс или ViewState для хранения строковых данных на другой странице.
Сеанс сохраняется до всей страницы сеанса, должен быть уничтожен. так же, как Session["xmlData"]="".
Переменная ViewState автоматического уничтожения на следующей странице.