2011-04-18 27 views
7

मैं वेब फॉर्म विकास के लिए बिल्कुल नया हूं, वीएस 2010 में एएसपी.नेट वेब एप्लिकेशन टेम्पलेट का उपयोग करके बनाई गई परियोजना के साथ खेल रहा हूं। उपयोगकर्ता सफलतापूर्वक लॉग इन करने के बाद, मैं चाहता हूं कि उपयोगकर्ता ने बनाए गए पृष्ठ पर रीडायरेक्ट किया हो। लॉगिन के बाद उपयोगकर्ता को रीडायरेक्ट करने के लिए मैं अपनी परियोजना को कैसे संशोधित करूं? किसी भी नमूने/ट्यूटोरियल/आदि की सराहना की जाती है।सफल लॉगिन के बाद मैं किसी पृष्ठ पर रीडायरेक्ट कैसे करूं?

धन्यवाद!

+0

की (http://stackoverflow.com/questions/4789718/redirect-user-to-a [प्रवेश के बाद एक विशिष्ट पृष्ठ पर उपयोगकर्ता को पुन: निर्देशित] संभव डुप्लिकेट -स्पेसिफिक-पेज-बाद-लॉगिन) – Talljoe

उत्तर

11

बस एक नया पृष्ठ पर रीडायरेक्ट करने के लिए जब अपने उपयोगकर्ता में लॉग इन किया है, अपनी प्रवेश नियंत्रण से DestinationPageUrl संपत्ति का उपयोग करें ... आप Login नियंत्रण है कि प्रयोग कर रहे हैं यह सोचते हैं।

यदि आपको कुछ और उन्नत करने की आवश्यकता है तो आप OnLoggedIn ईवेंट हैंडलर का उपयोग अपने Login नियंत्रण मैन्युअल रूप से रीडायरेक्ट करने के लिए कर सकते हैं, या ईवेंट लॉगिंग और ऐसे कोड के लिए कोई कोड जोड़ सकते हैं।

यदि आपने अपना लॉगिन नियंत्रण लॉन्च किया है, और केवल टेक्स्ट बॉक्स और बटन नियंत्रण जैसी चीजों का उपयोग कर रहे हैं, तो अपने Button_Click ईवेंट में, आप अपने उपयोगकर्ताओं को एक नए पृष्ठ पर ले जाने के लिए बस Response.Redirect("DestinationHere"); का उपयोग कर सकते हैं।

+0

के पक्ष में एक Response.Redirect() को अनदेखा कर देगा। हम इस से चर कैसे पारित कर सकते हैं? – numerah

4

के बाद आप लॉगिन करने के लिए जांच की गई:

Response.Redirect("url"); 
+0

यदि ओपी कहता है, तो आप एएसपी.नेट वेब एप्लिकेशन टेम्पलेट का उपयोग कर रहे हैं, तो आप लॉगिन नियंत्रण का उपयोग कर रहे हैं, जो DestinationPageUrl –

1

मैं तुम्हें ASP.NET लॉग इन नियंत्रण का उपयोग कर रहे मान। उस नियंत्रण की एक गंतव्य PageUrl संपत्ति है जो ठीक से संभालती है। अगर लॉगिन सफल था उपयोगकर्ता को उस संपत्ति में प्रदान किए गए यूआरएल पर रीडायरेक्ट किया जाता है।

0
Server.Transfer(*url*) ? 

(HttpServerUtility पर विधि)

मैं ASP.NET के बारे में कुछ भी नहीं करने के लिए अगले पता है, लेकिन मेरी जावा वेब डेवलपर डेज़ से, अनुप्रेषित बुरा है क्योंकि यह ब्राउज़र करने के लिए किसी अन्य नेटवर्क राउंड ट्रिप शामिल है और वापस जब आप वास्तव में बस एक और पेज में प्रसंस्करण जारी रखना चाहते हैं।

और Response.Redirect() वास्तव में ब्राउज़र पर 302 प्रतिक्रिया कोड जारी करता है ("इसके बजाय अन्य यूआरएल कोशिश करें")। छी। XP

Server.Transfer() Response.Forward के जावा संस्करण() की तरह लग रहा

+0

यह पुराना है, लेकिन मुझे लगता है कि इस उत्तर में कुछ स्पष्टीकरण के हकदार हैं कि लॉगिन पर उपयोग करना अच्छा क्यों नहीं है। सर्वर। ट्रांसफर एक प्रतिक्रिया से बहुत अलग व्यवहार करता है। निष्पादन में रीडायरेक्ट। Response.Redirect एक अतिरिक्त अनुरोध जारी करता है, लेकिन ऐसा इसलिए है क्योंकि यह ब्राउज़र को रीडायरेक्ट करने के लिए कहता है। सर्वर। ट्रांसफर, हालांकि, यूआरएल मास्क की तरह काम करता है क्योंकि रीडायरेक्ट सर्वर द्वारा किया जाता है। इस मामले में, ब्राउज़र अभी भी लॉगिन यूआरएल दिखाएगा, लेकिन * url * से सामग्री निर्दिष्ट है। अतिरिक्त जानकारी: http: //www.codeproject।कॉम/टिप्स/724 9 72/अंतर-बीच-प्रतिक्रिया-रीडायरेक्ट-एंड-सर्वर-टी – Daved

+0

मुझे लगता है कि उस विशेष मामले में मैं कुछ यूआरएल तक पहुंचने से पहले प्रमाणीकरण की आवश्यकता के लिए ऐप/सर्वर को कॉन्फ़िगर कर दूंगा, इसलिए (1) अनधिकृत उपयोगकर्ता सीधे संसाधन के लिए जीईटी अनुरोध जारी करेगा, (2) सर्वर उपयोगकर्ता को प्रमाणीकरण पृष्ठ पर वापस लाएगा लेकिन मूल अनुरोधित यूआरएल याद रखें, (3) प्रमाणीकरण पर सर्वर उपयोगकर्ता को मूल पृष्ठ को मूल यूआरएल के साथ दिखाएगा ब्राउज़र बार मुझे यकीन नहीं है कि यह दृश्यों के पीछे कैसे काम करता है, हालांकि; हमने अपने ज्ञान की सीमा को मारा है। :) – JohnL4

1
<asp:Login ID="Login1" runat="server" DestinationPageUrl="~/Admin/Default.aspx"> 
</asp:Login> 

जाओ गुण और सेट DestinationPageUrl करने के लिए।

0

शेयरप्वाइंट खेत समाधान विकास के लिए

Page.Response.Redirect("url"); 
संबंधित मुद्दे

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