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 автоматического уничтожения на следующей странице.

Другие вопросы по тегам