2012-04-14 8 views
6

यह Login.aspxमैं कैसे एक पृष्ठ में कुकी मान सेट और एक asp.net वेबसाइट में एक और पृष्ठ से पढ़ सकते हैं

protected void LoginButton_Click(object sender, EventArgs e) 
{ 
    HttpCookie loginCookie1 = new HttpCookie("loginCookie"); 
    Response.Cookies["loginCookie1"].Value = LoginUser.UserName; 
    Response.Cookies.Add(loginCookie1); 
} 

में मेरी कोड है और यह shop.aspx में है

protected void btnAddCart_Click(object sender, EventArgs e) 
{ 
    HttpCookie myCookie = new HttpCookie(dvProduct.DataKey.Value.ToString()); 
    myCookie["Category"] = dvProduct.DataKey["Category"].ToString(); 
    myCookie["Product"] = dvProduct.DataKey["Product"].ToString(); 
    myCookie["Quantity"] = txtQuantity.Text; 
    myCookie["Price"] = dvProduct.DataKey["Price"].ToString(); 
    myCookie.Expires = DateTime.Now.AddDays(1d); 
    Response.Cookies.Add(myCookie); 
    Response.Redirect("ViewCart.aspx", true); 
} 

मैं login.aspx में सेट कुकी (मूल्य से उपयोगकर्ता नाम का मान पढ़ना चाहते हैं

+0

छोटे सुधार -> मैं shop.aspx पेज – techblog

+0

से कुकी से उपयोगकर्ता नाम का मूल्य (login.aspx में सेट सेट) को पढ़ना चाहता हूं, आपको एक कुकी में उपयोगकर्ता नाम को स्टोर नहीं करना चाहिए; यह एक सुरक्षा भेद्यता है। क्लाइंट से कुकी के मूल्य को बदलना बहुत आसान है, और फिर उन्हें केवल आपके सिस्टम पर पूर्ण पहुंच प्राप्त करने के लिए व्यवस्थापक का नाम अनुमान लगाना है। इसके बजाए, उपयोगकर्ता को एक गाइड के साथ संबद्ध करें और कुकी में guid को स्टोर करें। वापसी यात्रा पर, सर्वर पर ग्रिड के साथ संग्रहीत जानकारी देखें। –

उत्तर

14

आप मूल रूप से कुकी यह वास्तव में आप कौन सा पेज यहाँ हैं पर कोई फर्क नहीं पड़ता अनुरोध करने की आवश्यकता कुकीज़

http://msdn.microsoft.com/en-us/library/ms178194.aspx

के बारे में एक व्याख्या
HttpCookie aCookie = Request.Cookies["loginCookie"]; 
string username = Server.HtmlEncode(aCookie.Value); 
+0

> अरे! धन्यवाद .. काम किया !! – techblog

+3

@techblog: उन उत्तरों को ऊपर उठाना याद रखें जो आपको लगता है कि अच्छे हैं। यह हमें सभी को एक गर्म अस्पष्ट भावना देता है: पी .. और यदि यह उत्तर आपके प्रश्न का संकल्प था तो इसे स्वीकार करें .. मुझे यह +1 पसंद है। – Arion

1

यह करना चाहिए:

var userName = Request.Cookies["loginCookie"].Value; 
+0

> मुझे यह त्रुटि उपरोक्त कोड
{"ऑब्जेक्ट संदर्भ किसी ऑब्जेक्ट के उदाहरण पर सेट नहीं है।"} – techblog

+0

क्योंकि यह एक शून्य ऑब्जेक्ट का मान नहीं प्राप्त कर सकता है। –

4

आपका कोड loginCookie सेट है कि अजीब लग रहा है:

HttpCookie loginCookie1 = new HttpCookie("loginCookie"); 
Response.Cookies["loginCookie1"].Value = LoginUser.UserName; // <--- strange!!!! 
Response.Cookies.Add(loginCookie1); 

अधिकतर आपकी कुकी ब्राउज़र पर नहीं भेजती है - Fiddler जैसे HTTP डीबगर के साथ जांचें।

+0

> मैं एएसपीनेट के लॉगिन नियंत्रण से उपयोगकर्ता नाम पुनर्प्राप्त कर रहा हूं। LoginUser लॉगिन नियंत्रण की आईडी है। यहां मैंने जांच की है कि यह उपयोगकर्ता नाम पुनर्प्राप्त कर रहा है, तो यह ठीक हो रहा है। मुझे बस इसे पढ़ने में परेशानी हो रही है। – techblog

+0

कृपया पोस्ट करें कि कुकी हेडर वास्तव में "login.aspx" द्वारा ब्राउज़र पर और ब्राउज़र से "shop.aspx" पृष्ठ पर वापस भेजता है। –

+0

> हाय, मुझे समाधान मिला। कोड के नीचे समस्या हल हो गई। HttpCookie aCookie = Request.Cookies ["loginCookie1"]; स्ट्रिंग उपयोगकर्ता नाम = सर्वर। एचटीएमएलएन्कोड (aCookie.Value); > धन्यवाद। – techblog

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