2013-07-18 8 views
5

मेरे सी # वेब अनुप्रयोग में, मेरे पास एक समाधान में दो अलग-अलग परियोजनाएं ("प्रोजेक्ट 1" और "प्रोजेक्ट 2") हैं। "प्रोजेक्ट 1" में मेरे पास एक बटन और ऑनक्लिक ईवेंट पर एक वेबपृष्ठ है, मैं एक सत्र चर को कैप्चर करने और "Project2" नामक "Project2" में किसी वेबपृष्ठ पर रीडायरेक्ट करने का प्रयास कर रहा हूं। मैंने "प्रोजेक्ट 1" को एक निर्भरता के रूप में "प्रोजेक्ट 2" को शामिल करने के लिए सेट किया है और "प्रोजेक्ट 1" स्टार्टअप प्रोजेक्ट है। जब मैं "Project2" सेट स्टार्टअप परियोजना के रूप में और इसे चलाने केएक समाधान में कई परियोजनाओं में पुनर्निर्देशन

http://localhost:5243/WebpageA.aspx 

, यह निम्न URL को जाता है:: जब मैं "Project1" चलाने यह निम्न URL से चला जाता है

http://localhost:5571/Numbers.aspx 

में " प्रोजेक्ट 1 "जब मैं लिखता हूं:

Response.Redirect("~/Numbers.aspx"); 

यह कहता है कि पथ मान्य नहीं है। मैं भी निम्न पथ की कोशिश की और यह कहते हैं कि यह मौजूद नहीं है:

Response.Redirect("~/Project2/Numbers.aspx"); 

किसी को भी मैं कैसे अलग परियोजना में इस वेबपेज पर पुन: निर्देशित और Project1 से एक सत्र चर पर कब्जा कर सकते हैं किसी भी सुझाव हैं? धन्यवाद!

//OnClick event 
    protected void click(object sender, EventArgs e) 
    { 
     Session["Variable"] = textBoxName.Text; 
    } 

उत्तर

3

अनुप्रेषित करने के लिए, मैं अपनी ऐप सेटिंग में एक सेटिंग में जोड़ने का सुझाव है कि परियोजना 2 के मेजबान निर्दिष्ट करता है:

<appSettings> 
    <add key="Project2Host" value="localhost:5571/" /> 
</appSettings> 
अब पुन: निर्देशन के लिए

, आप लिख सकते हैं:

Response.Redirect(Request.Url.Scheme + "://" 
    + ConfigurationManager.AppSettings["Project2Host"] 
    + "Numbers.aspx"); 

इस तरह , जब किसी सर्वर पर तैनाती करने का समय आता है, तो आप आसानी से "MyServer.com/Project2" या "जो भी हो," web.config में "Project2Host" सेटिंग को बदलकर आसानी से इसे तार कर सकते हैं।


दूसरे भाग के लिए, एक सत्र चर स्थानांतरित करना, शायद आप इसे क्वेरी स्ट्रिंग के रूप में पास कर सकते हैं? लक्ष्य URL और "?Variable=" + Session["Variable"] पर रीडायरेक्ट करें। फिर इसे Session["Variable"] = Request.QueryString["Variable"]; का उपयोग करके प्रोजेक्ट 2 में उठाएं।


एक फुटनोट के रूप में: आप दो साइटों के बीच डाटा साझा करने के लिए योजना बना रहे हैं, मैं अलग फ़ोल्डर/उसी वेब अनुप्रयोग परियोजना के तहत वर्चुअल निर्देशिका के रूप में उन्हें सेट करने पर विचार होगा।

+0

वाह उत्कृष्ट उत्तर। एक स्पष्ट, पूरी तरह से व्याख्या के लिए बहुत बहुत धन्यवाद! तुम्हारी मदद के लिए शुक्रिया! –

1
Response.Redirect("~/Numbers.aspx") 

मतलब यह है कि Project1 के दायरे के भीतर Number.aspx के लिए रूपरेखा खोज करता है। इसका मतलब प्रोजेक्ट 1 के रूट रूट से शुरू करना है, नंबर.एएसपीएक्स की खोज करें।

आपको क्या करना है IIS में Project2 के लिए वर्चुअल निर्देशिका बनाना है, और पथ का लिंक देना है।

+1

आपकी मदद के लिए धन्यवाद! –

संबंधित मुद्दे