Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,028

HOME > .NET Framework > Forum > รู้จัก controls ใน System.Web.UI.WebControls แบบคร่าวๆ



 

รู้จัก controls ใน System.Web.UI.WebControls แบบคร่าวๆ

 



Topic : 041292



โพสกระทู้ ( 3,144 )
บทความ ( 1 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์




ผมขอข้ามเรื่องนี้ได้ไหม เพราะหาอ่านเอาตามหนังสือได้ทั่วไป

แต่ขอเอาเกร็ดเล็กๆ เกี่ยวกับ Label กับ Listeral มาฝากแล้วกัน

Label vs. Literal

ใน ASP.NET จะมีเว็บคอนโทรลอยู่สองตัวที่ทำหน้าที่คล้ายๆกันคือแสดงผลส่วนที่เป็นข้อ ความปกติ Label และ Literal คำถามที่เกิดขึ้นคือ เมื่อไหร่ควรจะใช้ Label และเมื่อไหร่ควรจะใช้ Literal

ข้อแตกต่างที่เห็นได้ชัดระหว่าง Label และ Literal จะแสดงให้เห็นด้วยตัวอย่างง่ายๆคือ

<asp:Label ID="TestLabel" runat="server">Label</asp:Label>
<asp:Literal ID="TestLiteral" runat="server">Literal</asp:Literal>

ซึ่งจะให้ผลลัพธ์เป็น

<span id="TestLabel">Label</span>
Literal

ซึ่งจะเห็นว่าผลลัพธ์ที่ได้นั้นแตกต่างกันตรงที่ Label มี span ครอบ แต่ Literal ไม่มี และเมื่อดูจากต้นไม้การสืบทอด จะเห็นว่า Literal นั้นสืบทอดมาจากคลาส System.Web.UI.Control แต่ Label นั้นสืบทอดมาจากคลาส System.Web.UI.WebControl ทำให้สามารถควบคุมรูปแบบการแสดงผลพวกสไตล์ต่างๆได้ นอกจากนี้ Label ยังมีประโยชน์ อีกอย่างที่ไม่ค่อยมีคนรู้กันก็คือ ใช้สำหรับสร้าง tag Label นั่นเอง

Code (C#)
    <asp:Label id="label" AssociatedControlId="textbox" 
        Text="Username" runat="server" /> 
    <asp:TextBox id="textbox" runat="server" />


จะได้ผลลัพธ์เป็น

Code (C#)
    <label for="textbox">Username</label>
    <input type="textbox" name="textbox" value="" />


ในทางกลับกัน Literal ก็มีข้อดีที่ช่วยให้โค้ด HTML ที่ได้นั้นสะอาดและเรียบร้อยกว่าการใช้ Label ซึ่งจากตัวอย่างแรกจะเห็นว่า Label ให้ผลลัพธ์ที่มีจำนวนตัวอักษรมากกว่า Literal ถึง 28 ตัวอักษร

จากความแตกต่างข้างต้นก็จะได้หลักการใช้งานคร่าวๆคือ

ใช้ Literal เมื่อ

* แสดงผลข้อความทั่วๆไป ซึ่งดีกว่าการฝังข้อความลงไปตรงๆเพราะสามารถนำไปใช้ทำ Localization ได้ทันที
* สร้างสคริปต์
* ใช้ในจุดที่ไม่ต้องการให้มี span ครอบ เช่น <title>, <meta> หรือ <style> เป็นต้น

ใช้ Label เมื่อ

* สร้าง label สำหรับ input ต่างๆ
* สร้างข้อความที่ต้องการเปลี่ยนแปลงสไตล์

ส่วนตัวแล้ว แนะนำให้หลีกเลี่ยงการใช้งาน Label เพราะผลลัพธ์มันเปลือง และน่าเกลียดกว่า

ความจริงแล้วยังมีคอนโทรลอีกหนึ่งตัวที่ทำหน้าที่เหมือน Literal คือ LiteralControl ข้อแตกต่างของสองคอนโทรลนี้คือ LiteralControl จะไม่เก็บข้อมูลไว้ใน ViewState ทำให้ค่าของพร็อพเพอร์ตีย์ต่างๆไม่ถูกจำข้าม Request

ปล. Label อ่านว่า เล-เบิ้ล เหมือนที่แปะอยู่ข้างขวด ไม่ได้อ่านว่า ลา-เบว หรือ เล-เบว

เครดิต http://onedd.net/tags/web-control



Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2010-04-05 20:50:38 By : tungman View : 3281 Reply : 4
 

 

No. 1



โพสกระทู้ ( 394 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณเนื้อหาดีๆที่พี่แพนด้ากัญชาเอามาให้อ่านครับ ถึงแม้ตอนนี้จะยังไม่ค่อยรู้เรื่องก็ตาม






Date : 2010-04-07 10:00:15 By : Nameless
 


 

No. 2

Guest


ขอบคุณ สำหรับ คำอ่านตอนท้าย

Label อ่านว่า เล-เบิ้ล
Date : 2010-11-15 13:38:49 By : `-`
 

 

No. 3



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

สำหรับอื่น ๆ ลองศึกษา Basic Of Web Control ได้จากที่นี่ครับ

Go to : ASP.NET Web Control and HTML Control

Go to : ASP.NET Web Control - Standard Control
Date : 2010-11-15 21:41:06 By : webmaster
 


 

No. 4



โพสกระทู้ ( 32 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


ขอบคุณครับ
Date : 2012-03-14 08:37:16 By : killkwai
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : รู้จัก controls ใน System.Web.UI.WebControls แบบคร่าวๆ
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 03
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่