เว็บไซต์ได้รับการออกแบบสำหรับการเข้าชมซ้ำจากผู้ใช้ การปรับเปลี่ยนในแบบของคุณช่วยให้เว็บไซต์จดจำการระบุตัวตนผู้ใช้และรายละเอียดข้อมูลอื่นๆ และให้บริบทส่วนบุคคลสำหรับผู้ใช้แต่ละคน
ASP.NET ให้บริการปรับแต่งเว็บไซต์ให้เหมาะกับรสนิยมและความชอบของลูกค้าเฉพาะราย
บริการตั้งค่าส่วนบุคคลของ ASP.NET ขึ้นอยู่กับโปรไฟล์ของผู้ใช้ โปรไฟล์ผู้ใช้กำหนดข้อมูลที่เว็บไซต์ต้องการจากผู้ใช้ เช่น ชื่อ อายุ ที่อยู่ วันเกิด และหมายเลขโทรศัพท์มือถือ
ข้อมูลนี้ถูกกำหนดไว้ในไฟล์ web.config ของแอปพลิเคชัน และรันไทม์ ASP.NET จะอ่านและใช้งาน งานนี้ดำเนินการโดยผู้ให้บริการส่วนบุคคล
โปรไฟล์ผู้ใช้ที่มีอยู่ในข้อมูลผู้ใช้จะถูกเก็บไว้ในฐานข้อมูลเริ่มต้นที่สร้างโดย ASP.NET คุณสามารถสร้างฐานข้อมูลของคุณเองเพื่อจัดเก็บไฟล์ลายเซ็นได้ คำจำกัดความของข้อมูลโปรไฟล์จะถูกเก็บไว้ในไฟล์การกำหนดค่า web.config
ให้เราสร้างเว็บไซต์ตัวอย่างที่เราต้องการให้แอปพลิเคชันของเราจดจำรายละเอียดผู้ใช้ เช่น ชื่อ ที่อยู่ วันเกิด เป็นต้น เพิ่มรายละเอียดโปรไฟล์โดยใช้องค์ประกอบในไฟล์ web.config
<configuration><system.web><profile> <properties> <add name="Name" type ="String"/> <add name="Birthday" type ="System.DateTime"/> <ชื่อกลุ่ม="ที่อยู่ "> <add name="Street"/> <add name="City"/> <add name="State"/> <add name="Zipcode"/> </group> </คุณสมบัติ></โปรไฟล์></system.web></การกำหนดค่า>
เมื่อมีการกำหนดโปรไฟล์ในไฟล์ web.config โปรไฟล์จะพร้อมใช้งานผ่านแอตทริบิวต์โปรไฟล์ที่พบใน HttpContext ปัจจุบันและพร้อมใช้งานผ่านเพจ
เพิ่มกล่องข้อความเพื่อบันทึกอินพุตของผู้ใช้ที่กำหนดไว้ในไฟล์ฟีเจอร์ และปุ่มเพื่อส่งข้อมูล:
อัปเดต Page_load เพื่อแสดงข้อมูลไฟล์คุณลักษณะ:
การใช้ระบบ;การใช้ System.Data;การใช้ System.Configuration;การใช้ System.Web;การใช้ System.Web.Security;การใช้ System.Web.UI;การใช้ System.Web.UI.WebControls;การใช้ System.Web.UI.WebControls WebParts; การใช้ System.Web.UI.HtmlControls; คลาสสาธารณะบางส่วน _Default: System.Web.UI.Page { ได้รับการป้องกันเป็นโมฆะ Page_Load (ผู้ส่งวัตถุ EventArgs e) { ถ้า (!this.IsPostBack) { ProfileCommon pc=this.Profile.GetProfile(Profile.UserName); if (pc != null) { this.txtname.Text = pc.Name; this.txtaddr.Text = pc.Address.Street ; this.txtcity.Text = pc.Address.City; this.txtzip.Text = pc.Address.Zipcode; this.Calendar1.SelectedDate = pc.Birthday;
เขียนหมายเลขอ้างอิงต่อไปนี้สำหรับปุ่มส่งและจัดเก็บข้อมูลผู้ใช้ไว้ในไฟล์คุณลักษณะ:
ป้องกันเป็นโมฆะ btnsubmit_Click (ผู้ส่งวัตถุ EventArgs e) { ProfileCommon pc=this.Profile.GetProfile(Profile.UserName); if (pc != null) { pc.Name = this.txtname.Text; pc.Address.Street = this .txtaddr.Text; pc.Address.City = this.txtcity.Text; pc.Address.State = this.txtstate.Text; pc.Address.Zipcode = this.txtzip.Text; pc.Birthday = this.Calendar1.SelectedDate;
เมื่อเพจถูกดำเนินการเป็นครั้งแรก ผู้ใช้จำเป็นต้องป้อนข้อมูล อย่างไรก็ตามในครั้งต่อไปรายละเอียดของผู้ใช้จะถูกโหลดโดยอัตโนมัติ
นอกจากแอตทริบิวต์ชื่อและประเภทที่เราใช้แล้ว องค์ประกอบยังมีคุณลักษณะอื่นๆ ด้วย ตารางต่อไปนี้แสดงคุณสมบัติบางอย่างเหล่านี้:
คุณสมบัติ | อธิบาย |
---|---|
ชื่อ | ชื่อของคุณสมบัติ |
พิมพ์ | ประเภทค่าเริ่มต้นเป็นสตริง แต่จะอนุญาตให้ชื่อคลาสที่สมบูรณ์เป็นชนิดข้อมูล |
ทำให้เป็นอนุกรมAS | รูปแบบที่จะใช้เมื่อซีเรียลไลซ์ค่านี้ |
อ่านอย่างเดียว | ค่าไฟล์ลายเซ็นแบบอ่านอย่างเดียวไม่สามารถเปลี่ยนแปลงได้คุณสมบัตินี้มีค่าเริ่มต้นเป็นเท็จ |
ค่าดีฟอลต์ | ค่าเริ่มต้นที่ใช้ถ้าไฟล์ลายเซ็นไม่มีอยู่หรือไม่มีข้อมูล |
อนุญาตไม่ระบุชื่อ | ค่าบูลีนที่ระบุว่าแอตทริบิวต์นี้สามารถใช้กับไฟล์ที่ไม่ระบุชื่อได้หรือไม่ |
ผู้ให้บริการ | ผู้ให้บริการโปรไฟล์ที่ควรใช้ในการจัดการพร็อพเพอร์ตี้นี้ |
การกำหนดค่าส่วนบุคคลแบบไม่เปิดเผยตัวตนช่วยให้ผู้ใช้สามารถปรับแต่งเว็บไซต์ให้เป็นแบบส่วนตัวก่อนที่จะระบุตัวตน ตัวอย่างเช่น Amazon.com อนุญาตให้ผู้ใช้เพิ่มสินค้าลงในตะกร้าสินค้าก่อนเข้าสู่ระบบ หากต้องการเปิดใช้งานคุณลักษณะนี้ คุณสามารถกำหนดค่าไฟล์ web.config ได้ดังต่อไปนี้:
<anonymousIdentification ที่เปิดใช้งาน = "true" cookieName = ".ASPXANONYMOUSUSER" cookieTimeout = "120000" cookiePath = "/" cookieRequiresSSL = "false" cookieSlidingExpiration = "true" cookieprotection = "การเข้ารหัสลับ" coolieless = "UseDeviceProfile"/>