2016-03-23 8 views
0

J'ai ci-dessous la méthode page_load sur une page ASPX. Maintenant, je veux obtenir la chaîne xmlData dans une autre page aspx dans la variable de chaîne. est-il un moyen que je peux obtenir la valeur de la variable xmlData sur une autre page?Réponse réponse.Écrit dans une autre page aspx

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

Utiliser l'objet de session –

+0

Ces pages sont dans un projet différent mais dans une solution unique. est-ce qu'il n'y a aucun moyen que je passe le chemin de cette page et obtiens la valeur de reponse.write à la page? –

+0

il ya des tonnes d'exemples ici, il suffit de chercher un peu –

Répondre

0

Il a travaillé pour moi avec le code ci-dessous -

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

Maintenant, writer a une valeur qui a été écrite dans la variable xmlData dans page1.aspx.

Merci les gars pour votre temps.

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

vous pouvez utiliser session ou ViewState pour stocker les données de chaîne dans une autre page.

session restent jusqu'à la page de la session entière, doivent être détruits. tout comme Session ["xmlData"] = "".

La variable ViewState automatique détruit dans la page suivante.

+0

Voir, j'ai cette page aspx (disons page1) mais il n'y a pas d'option sur frontend donc je peux charger la page1 et obtenir la valeur en session ou autre et l'utiliser sur la page2. la situation est que j'ai page2 que j'ai l'option de charger de frontend. Maintenant, j'ai besoin de frapper la page1 de page2 pour obtenir la valeur de la variable de chaîne. J'espère que cela efface l'exigence. public classe partielle page1 –

0

Ici vous pouvez trouver une solution complète pour l'affichage d'un xml http://www.codeproject.com/Articles/10430/Post-XML-Data-to-an-ASP-NET-Page-using-C: Pour envoyer 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; 
} 

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

C'est la structure essentiellement.

// Vous ne pouvez pas charger cette page d'extrémité avant

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

// Deuxième page - Cette page peut être charge à partir frontend sur le bouton cliquez sur

public partial class page2 
{ 

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