2009-02-19 14 views
101

पर सबमिट किए गए पोस्ट डेटा को पढ़ें, मेरे पास एएसपीनेट एप्लिकेशन में एक वर्किंग लॉगिन फॉर्म है। उपयोगकर्ता नाम और पासवर्ड टेक्स्ट बॉक्स के साथ मानक सामान और लॉगिन को संसाधित करने के लिए एक बटन। ठीक काम करता है।एएसपी.Net फॉर्म

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

एएसपीनेट लॉगिन फॉर्म के पृष्ठ के पीछे सी # कोड में मैं क्या करना चाहता हूं, संभवतः पृष्ठ_लोड ईवेंट में, यह जांचना है कि पृष्ठ के अनुरोध में उपयोगकर्ता नाम और पासवर्ड मान पास किया गया है या नहीं। तो मुझे उन मानों को पढ़ने और लॉगिन को संसाधित करने की आवश्यकता होती है जैसे किसी ने एएसपीनेट पेज पर लॉगिन बटन पर क्लिक किया था। यदि नहीं तो मैं सामान्य रूप से लॉगिन फॉर्म प्रदर्शित करूंगा।

मैं अपने पृष्ठ के अनुरोध में उपयोगकर्ता नाम और पासवर्ड मानों के अस्तित्व की जांच कैसे करूं और पढ़ूं।

उत्तर

136

Request.Form NameValueCollection पढ़ें और उसके अनुसार अपनी तर्क की प्रक्रिया:

NameValueCollection nvc = Request.Form; 
string userName, password; 
if (!string.IsNullOrEmpty(nvc["txtUserName"])) 
{ 
    userName = nvc["txtUserName"]; 
} 

if (!string.IsNullOrEmpty(nvc["txtPassword"])) 
{ 
    password = nvc["txtPassword"]; 
} 

//Process login 
CheckLogin(userName, password); 

... जहां "txtUserName" और "txtPassword" पोस्टिंग पृष्ठ पर नाम नियंत्रण के हैं।

+0

बाइट एरे के बारे में क्या? क्या आपके पास ऐसी स्ट्रिंग होगी और फिर इसे बाइट सरणी में परिवर्तित करें, या क्या? मैं service.r – Fallenreaper

+2

पर एक फ़ाइल अपलोड कर रहा हूं उत्सुक क्यों प्रत्येक नियंत्रण नाम के लिए सीधे अनुरोध की जांच के बजाय नामवृत्त पर पुनरावृत्ति करें? – Howiecamp

+0

@Howiecamp को कभी उस प्रश्न का उत्तर मिला? मैं भी चिंतित हूँ। – tfrascaroli

12
if (!string.IsNullOrEmpty(Request.Form["username"])) { ... } 

उपयोगकर्ता नाम जमा करने वाले पृष्ठ पर इनपुट का नाम है। पासवर्ड एक ही तरीके से प्राप्त किया जा सकता है। यदि यह शून्य या खाली नहीं है, तो यह मौजूद है, फिर उपयोगकर्ता में लॉग इन करें (मुझे एएसपी.NET सदस्यता के लिए सही कदम याद नहीं हैं, यह मानते हुए कि आप इसका उपयोग कर रहे हैं)।

2
NameValueCollection nvclc = Request.Form; 
string uName= nvclc ["txtUserName"]; 
string pswod= nvclc ["txtPassword"]; 
//try login 
CheckLogin(uName, pswod); 
+0

आपके उत्तर का उचित संदर्भ दें ताकि यह अधिक संभव हो। –