2016-03-23 7 views
0

Ich habe unter page_load Methode auf einer aspx Seite. Nun möchte ich die Zeichenfolge xmlData in einer anderen aspx-Seite in einer String-Variablen abrufen. gibt es eine Möglichkeit, dass ich den Wert von xmlData Variable auf einer anderen Seite bekommen kann?Antwort Ausgabe in eine andere aspx Seite

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

Verwenden Sie das Sitzungsobjekt –

+0

Diese Seiten befinden sich in einem anderen Projekt, aber in einer Lösung. Gibt es keine Möglichkeit, dass ich den Pfad dieser Seite passiere und den Wert von reponse.write auf der Seite bekomme? –

+0

Es gibt Tonnen von Beispielen hier, suchen Sie einfach ein wenig –

Antwort

0

Er arbeitete für mich Last vom Frontend auf die Schaltfläche klicken sein -

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

Nun Schriftsteller hat Wert, der in xmlData Variable in page1.aspx geschrieben wurde.

Vielen Dank für Ihre Zeit.

0
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; 
    } 

Sie Session oder Viewstate zu speichern, die String-Daten in einer anderen Seite verwenden können.

Sitzung bleiben bis die gesamte Sitzung Seite, muss zerstört werden. genau wie Session ["xmlData"] = "".

ViewState Variable automatische Zerstörung auf der nächsten Seite.

+0

Sehen Sie, ich habe diese ASPX-Seite (sagen wir Seite1), aber es gibt keine Option auf Frontend, so kann ich die page1 laden und den Wert in Sitzung oder was auch immer und verwenden Sie es auf page2. Die Situation ist, ich habe page2, die ich Option haben, von Frontend zu laden. Jetzt muss ich die Seite 1 von Seite 2 treffen, um den Wert der String-Variablen zu erhalten. Ich hoffe, das löscht die Anforderung. öffentliche Teilklasse page1 –

0

Hier können Sie eine komplette Lösung für die Buchung eines xml finden http://www.codeproject.com/Articles/10430/Post-XML-Data-to-an-ASP-NET-Page-using-C: xml senden:

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 zu lesen:

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(); 
} 
0

Dies ist im Grunde Struktur.

// You cant diese Seite von Frontend laden

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

// Zweite Seite - Diese Seite kann mit folgenden Code

public partial class page2 
{ 

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