จดคำบรรยาย โดย ฐิติพงศ์ สำราญวานิช
=== Set Property ของ Master Page ===
* ตัวอย่าง การ เซ็ต Propert ของ Master Page
* และ ให้เซ็ตค่า เฉพาะ โหลดครั้งแรก
=== Me.IsPostBack ===
* และ ให้เซ็ตค่า เฉพาะ โหลดครั้งแร
* ถ้ามี user กดปุ่ม จะไม่ set ค่า , ไม่เข้า If
If Not Me.IsPostBack Then
...
End If
=== Partial ===
แยกแบ่งระหว่าง Designer กับ Source Code จริงๆที่เราเขียน
ที่ GEnerate ไม่ต้องแตะต้อง
=== Namespace ===
เช่น
เป็นกาจัดหมวดหมู่ย่อยๆลงไป เพื่อเรียกใช้ง่าย
Public Partial Class Form1UI
Inherites System.Web.UI.Page
=== Sub , Function ===
เรียกใน VB.NET เรียก Method
=== Type Object ===
* เป็น BaseClass ของ OOP
* ทุกๆตัว จะ Inherit มาจาก Object
=== Event Handler ===
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
...
End Sub
จะเห็นว่า Handles Me.Load นั่นคือ ตัวที่ระบุว่า Method นี้ รองรับ Event Load
=== การส่งผ่าน Parameter แบบ Object ของ Object ===
VB.NET เป็น StrongType ต้องระบุ Type
เวลาเรา Inherit จาก Class A ไปเป็น B หรือจาก B ไปเ็ป็น C
ถ้า TypeA Inherit เป็น TypeB
ถ้า TypeB Inherit เป็น TypeC
ถ้า TypeA มี 3 Method , TypeB มี 7 Method
ถ้า Dim a As TypeA แล้ว a จะเก็บ Object ของ TypeB , TypeC ได้
เช่น Dim b As TypeB
a = b ได้ ( แต่ b = a ไม่ได้ )
เป็นเรื่องของ Polymorphism
ข้อมูลนั้นจริงๆ จะเป็น Object TypeB ที่มี 7 Method
แต่ Interface ภายนอกจะเป็น เห็นแค่ Method ของ TypeA คือเห็นแค่ 3 Method
ไม่สามารถ มองเห็น Method ที่เพิ่มมาของ TypeB ได้
ใช้ a.MethodOfTypeB ไม่ได้
แต่ใช้
a.MethodOfTypeA ได้
การแปลงกลับไปเป็น TypeB ทำโดย
Dim bx As TypeB
bx = CType(a,TypeB) แปลงกลับ ทำให้ bx มี 7 Method เหมือนเดิม ได้
แล้วจะใช้ bx.MethodOfTypeB ได้
เป็นการเปลี่ยน Interface หรือเหมือนกับ เปลี่ยนกรอบ
ถ้า Object จริงๆเป็น a แล้วจะเปลี่ยนเป็น เป็น B อย่างนี้ไม่ได้
=== สิ่งที่ FindControl Method Return ค่ามา มี Typeเป็น อะไร ===
ทุก Web Control จะ Inherit มาจาก Class เดียวกัน ชื่อว่า
System.Web.UI.Control
แต่การจะ Cast เป็น อะไรต้อง รู้ Typeจริงๆของมัน
เช่น Object เป็น label และ Cast เป็น TextBox จะ Error ขณะรันทาม
NOTE : น่าจะเรียกว่า Late-Binding
=== Sender Parameter ===
* Sender As Object
เราต้องรู้ เองว่า Sender มี Type เป็นอะไร
เพื่อจะ Casting เพื่อเปลี่ยน เพื่อให้เห็น Method มากขึ้น
=== Type Casting ===
ใน OOP การเีปลี่ยน Type เรียกว่า Type Casting ปกติไม่เรียก Convert
แต่ .NET ใช้ คำว่า Convert
เรามักใช้ Casting เยอะ
=== Page Load , Master , Content ===
* Page Load จะทำทั้งคู่
* หน้า Content จะทำก่อน Master จะทำทีหลัง
* ทดลองโดยใช้ Page Break ใน Debug
* ดังนั้นหากต้องการ ให้ทุก หน้าแสดง ชื่อ Application เหมือนกัน จึงทำโดย ใส่โค้ด ดังนี้ ใน Page_Load ของ Master Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Page.Title = "ระบบงาน ABC :" & Page.Title
End Sub
ไม่มีความคิดเห็น:
แสดงความคิดเห็น