แนะนำ: วิธีการใช้เซสชันการแชร์ ASP และ ASP.NET ใน. NET กลไกการจัดเก็บของเซสชันนั้นแตกต่างจาก ASP แม้ว่ามันจะสามารถเรียกใช้ ASP และ ASPX ในเวลาเดียวกันภายใต้ IIS เดียวกัน แต่เซสชั่นไม่สามารถส่งผ่านระหว่างพวกเขาได้ ก่อนหน้านี้มีการใช้ระบบจำนวนมากกับ ASP ในระหว่างกระบวนการอัพเกรดหาก ASP ถูกยกเลิกอย่างสมบูรณ์
การใช้แนวคิดเดียวกับการสร้างการเชื่อมต่อสากลในโมดูลแยกต่างหากเราสร้าง Pagelet Pagelet ช่วยให้นักพัฒนาสามารถสร้างการควบคุมแบบหลอกซึ่งสามารถใช้เพื่อแสดงคุณสมบัติวิธีการและเหตุการณ์เช่นเดียวกับวัตถุ ทางออกของเราคือการสร้าง pagelet ที่แสดงวิธีการ ConnectToDB ซึ่งส่งคืนวัตถุ Adoconnection (แตกต่างจากไวยากรณ์ของ ADO เล็กน้อย) เราใช้รหัสต่อไปนี้เพื่อสร้าง pagelet และบันทึกเป็น connect.aspc (ส่วนขยายระบุว่าเป็น pagelet)< %@ import namespace = system.data %>
< %@ import namespace = system.data.ado %>
<ภาษาสคริปต์ = vb runat = เซิร์ฟเวอร์>
ฟังก์ชั่นสาธารณะ ConnectToDB () เป็นการเชื่อมต่อแบบ Adoconn
ConnectToDB = Adoconnection ใหม่ (DSN = EvilledSn)
ฟังก์ชันสิ้นสุด
</script>
คุณจะสังเกตเห็นว่าเรานำเข้าสองเนมสเปซคือ System.data และ System.data.ado จำเป็นต้องใช้เนมสเปซเหล่านี้เพื่อใช้ผู้ให้บริการที่มีการจัดการ ADO หลายคนถามคำถามมากมายเกี่ยวกับเรื่องนี้เพราะตัวอย่างส่วนใหญ่ใช้ผู้ให้บริการที่ได้รับการจัดการ SQL ตามฐานข้อมูล Microsoft SQL Server 2000 สำหรับฐานข้อมูลเซิร์ฟเวอร์ที่ไม่ใช่ SQL ASP สามารถใช้ผู้ให้บริการที่มีการจัดการ ADO ซึ่งเป็นวิธีเดียวกับที่คุณใช้ ADO ในโปรแกรมของคุณ การนำเข้าเนมสเปซนั้นคล้ายคลึงกับการสร้างการอ้างอิงในโปรแกรม VB
การใช้ Pagelet ช่วยให้ฉันสามารถรักษาแผนไซต์ปัจจุบันของฉันและเมื่อการเชื่อมต่อถูกสร้างขึ้นในโมดูลเราสามารถนำโมดูลมาใช้ใหม่ได้ทุกที่ที่เราต้องการ ซึ่งหมายความว่าเราจำเป็นต้องแทนที่คำสั่งไฟล์รวมด้วยอินสแตนซ์ของ Pagelet จากนั้นเรียกใช้เมธอด ConnectToDB เมื่อเราต้องการการเชื่อมต่อฐานข้อมูล ในหน้าเว็บที่ต้องใช้ Pagelet เราต้องลงทะเบียนก่อนที่จะใช้หน้าโดยใช้คำสั่ง ASP ในคำสั่งเรากำหนด tagprefix, tagname และ source (src) ควรใช้ไฟล์รวมใน ASP, tagprefix และ tagname โดยที่เราวาง pagelet
< %@ register tagprefix = เจ็ด tagname = เชื่อมต่อ
src = http: //www.alixixi.com/dev/web/asp/asp_1/2007/_includes/connect.aspc %>
วิธีการวาง pagelet ที่เราเพิ่งลงทะเบียนนั้นคล้ายกับการควบคุมเซิร์ฟเวอร์ ASP:
<[tagprefix]: [tagname] id = myPagelet runat = เซิร์ฟเวอร์ />
ตัวอย่างเช่น:
<เจ็ด: เชื่อมต่อ ID = เชื่อมต่อ runat = เซิร์ฟเวอร์ />
ใน ADO แนวคิดของชุดบันทึกจะถูกแทนที่ด้วยชุดข้อมูลและ DataViews เราจะหารือเกี่ยวกับแนวคิดทั้งสองนี้ในภายหลัง ก่อนอื่นมาดูกันว่าการเปลี่ยนแปลงเกิดขึ้นหลังจากหน้าค่าเริ่มต้น ASP ถูกย้ายไปที่ default.aspx (คำต่อท้ายของหน้า ASP) มาดูที่ default.asp ก่อน:
<!-#include file = _includes/connect.inc->
-
Dim Cneville_DB, RSUPICEME
ตั้งค่า rsUp10 = server.createObject (adoDB.RecordSet)
strsqlupiching = เลือก TOP 2 & _
classes.title, sessions.session_id, & _
เซสชัน Special, classes.description & _
จากชั้นเรียนเข้าร่วมการเข้าร่วมประชุม & _
classes.class_id = sessions.classid & _
โดยที่ (((sessions.date)> วันที่ ())) & _
สั่งซื้อโดยเซสชันวัน
RSUPICEDE.OPEN STRSQLUPICEDE
-
ใน ASP จะกลายเป็น default.aspx:
< %@ import namespace = system.data %>
< %@ import namespace = system.data.ado %>
< %@ register tagprefix = เจ็ด tagname = Connect & _
src = http: //www.alixixi.com/dev/web/asp/asp_1/2007/_includes/connect.aspc %>
<ภาษาสคริปต์ = vb runat = เซิร์ฟเวอร์>
sub page_load (แหล่งที่มาเป็นวัตถุ e เป็น eventargs)
Dim Dscupome เป็น adodatasetCommand
DSUPICEDING เป็นชุดข้อมูลใหม่
สลัว strsql เป็นสตริง
strsql = เลือกคลาส 2 คลาส Title, & _
Sessions.session_id, classes.description & _
จากชั้นเรียนเข้าร่วมการเข้าร่วมประชุม & _
classes.class_id = sessions.classid & _
โดยที่ (((sessions.date)> วันที่ ())) & _
สั่งซื้อโดยเซสชันวัน
DSCUPECONED = ใหม่ ADODATASETCOMMAND (STRSQL, Connect.ConnectToDB ())
dscupeing.filldataset (DSUPICEDE กำลังจะมาถึง)
สิ้นสุดย่อย
</script>
หลักการของการเข้าถึงข้อมูลคำสั่ง ANSI-SQL ไม่มีอะไรหลังจากการแปลง
แบ่งปัน: การอภิปรายเกี่ยวกับสถานะการควบคุมและสถานะการดูของ ASP.NET 2.0 สถานะการควบคุมแนวคิดพื้นฐาน - เพื่อให้การควบคุมทำงานอย่างถูกต้องบางครั้งจำเป็นต้องมีข้อมูลสถานะการควบคุม ตัวอย่างเช่นหากคุณเขียนตัวควบคุมที่กำหนดเองด้วยแท็บที่แตกต่างกันซึ่งแสดงข้อมูลที่แตกต่างกัน