ASP.NET - องค์ประกอบเซิร์ฟเวอร์

องค์ประกอบเซิร์ฟเวอร์เป็นแท็กซ์ท์ที่เซิร์ฟเวอร์สามารถเข้ารับ

จำกัดของ Classic ASP

รหัสที่นำมาจากบทที่แล้วคือ:

<html>
<body style="background-color:#e5eecc; text-align:center;">
<h2>Hello CodeW3C.com!</h2>
<p><%Response.Write(now())%></p>
</body>
</html>

รหัสที่กล่าวข้างต้นสามารถแสดงถึงจำกัดของ Classic ASP: บล็อครหัสต้องถูกจัดที่จะมีการออกแสดง

ด้วย Classic ASP เราไม่สามารถแยกโค้ดที่สามารถทำงานออกจาก HTML ได้ นี่ทำให้หน้าเว็บยากที่จะอ่านและยากที่จะดูแล

ASP.NET - องค์ประกอบเซิร์ฟเวอร์

ด้วยองค์ประกอบเซิร์ฟเวอร์ ASP.NET ได้แก้ปัญหา "โค้ดสไตล์สามชาติ" ที่ได้กล่าวถึง

องค์ประกอบเซิร์ฟเวอร์เป็นแท็กซ์ท์ที่เซิร์ฟเวอร์สามารถเข้ารับ

มีสามประเภทขององค์ประกอบเซิร์ฟเวอร์:

  • องค์ประกอบเซิร์ฟเวอร์ HTML - แท็กซ์ท์แบบดั้งเดิมของ HTML
  • องค์ประกอบเซิร์ฟเวอร์ Web - แท็กซ์ท์แบบใหม่ของ ASP.NET
  • องค์ประกอบเซิร์ฟเวอร์ Validation - สำหรับการตรวจสอบความถูกต้องของการฉบับยื่น

ASP.NET - องค์ประกอบเซิร์ฟเวอร์ HTML

องค์ประกอบเซิร์ฟเวอร์ HTML คือแท็กซ์ท์ที่เซิร์ฟเวอร์สามารถเข้ารับ

ใน ASP.NET องค์ประกอบ HTML ถูกประมวลเป็นข้อความ ในการที่จะทำให้องค์ประกอบนี้สามารถทำงานได้ ต้องเพิ่มองค์ประกอบ HTML นี้ด้วย คุณสมบัติ runat="server"คุณสมบัตินี้ชี้ว่าองค์ประกอบนี้เป็นควบคุมเซิร์ฟเวอร์ ต้องเพิ่มคุณสมบัติ id ขึ้นเพื่อระบุควบคุมเซิร์ฟเวอร์นี้ ค่า id นี้สามารถใช้เพื่อปฏิบัติการควบคุมเซิร์ฟเวอร์ในระหว่างการทำงาน

ในตัวอย่างด้านล่างนี้ เราได้ประกาศ HtmlAnchor สีเท้า คอนโทลในไฟล์ .aspx แล้ว เราก็ปฏิบัติตามตัวแปร HRef ของ HtmlAnchor ในหน่วยงานจัดการเหตุการณ์ ภาพรวม หรือเหตุการณ์ Page_Load คือหนึ่งในหลายเหตุการณ์ที่ ASP.NET สามารถเข้าใจ所有 HTML 服务器控件必须位于带有 runat="server" 属性的

标签内。runat="server" 属性指示该表单应在服务器进行处理。它同时指示其包括在内的控件可被服务器脚本访问。

ทุกสีเท้า คอนโทล HTML ต้องอยู่ด้านใน <form> ที่มีคุณสมบัติ runat="server" คุณสมบัติ runat="server" บอกว่าฟอร์มนี้ควรทำงานบนเซิร์ฟเวอร์ มันยังบอกว่าทุกคอนโทลที่รวมอยู่กับฟอร์มนี้สามารถถูกเข้าถึงโดยสคริปต์เซิร์ฟเวอร์

ในตัวอย่างด้านล่างนี้ เราได้ประกาศ HtmlAnchor สีเท้า คอนโทลในไฟล์ .aspx แล้ว เราก็ปฏิบัติตามตัวแปร HRef ของ HtmlAnchor ในหน่วยงานจัดการเหตุการณ์ ภาพรวม หรือเหตุการณ์ Page_Load คือหนึ่งในหลายเหตุการณ์ที่ ASP.NET สามารถเข้าใจหมายเหตุ:

<script runat="server">
หน่วยงานจัดการเหตุการณ์ (event handler) คือภาคย่อยที่ทำงานตามรายการเหตุการณ์ที่กำหนด
Sub Page_Load
End Sub
</script>
<html>
<body>
<form runat="server">
link1.HRef="http://www.codew3c.com"
</form>
</body>
</html>

<a id="link1" runat="server">เยี่ยมชม CodeW3C.com!</a>คำขวัญ:

ASP.NET - Web สีเท้า คอนโทล

สีเท้า คอนโทล Web คือแบบสีเท้า ASP.NET ที่เซิร์ฟเวอร์สามารถเข้าใจ

เหมือน สีเท้า คอนโทล HTML สีเท้า คอนโทล Web ก็ถูกสร้างบนเซิร์ฟเวอร์ พวกมันต้องมีคุณสมบัติ runat="server" เพื่อที่จะทำงานได้ แต่ สีเท้า คอนโทล Web ไม่จำเป็นต้องแมพ์กับ HTML อิเลเมนต์ที่มีอยู่แล้ว พวกมันแทนที่ด้วยอิเลเมนต์ที่ซับซ้อนขึ้น

คำสั่งสร้าง Web สีเท้า คอนโทล คือ:

<asp:control_name id="some_id" runat="server" />

ในตัวอย่างด้านล่างนี้ เราได้ประกาศ Button สีเท้า คอนโทลในไฟล์ .aspx แล้ว เราก็สร้างหน่วยงานจัดการเหตุการณ์เมื่อกดที่ปุ่ม ที่สามารถเปลี่ยนข้อความบนปุ่มได้

<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="คุณกดฉัน!"
End Sub
</script>
<html>
<body>
<form runat="server">
<asp:Button id="button1" Text="กดฉัน!" runat="server" OnClick="submit"/>
</form>
</body>
</html>

ASP.NET - Validation สีเท้า คอนโทล

Validation สีเท้า คอนโทลใช้สำหรับตรวจสอบการของผู้ใช้งาน。ถ้าการของผู้ใช้งานไม่ผ่านการตรวจสอบ จะแสดงข้อความข้อผิดพลาดให้ผู้ใช้เห็น

แต่ละหลักประกาศตรวจสอบทำการตรวจสอบประเภทหนึ่งของการตรวจสอบ (เช่น ตรวจสอบค่าเฉพาะหรือระยะค่า)

โดยเริ่มต้น ขณะที่กดปุ่ม Button, ImageButton หรือ LinkButton จะมีการทำการตรวจสอบหน้าเว็บไซต์ โดยสามารถหยุดการตรวจสอบของปุ่มเซิร์ฟเวอร์ที่กดได้โดยการตั้งค่าคุณสมบัติ CausesValidation ให้เป็น false

การใส่ความเป็นส่วนตัวของ Validation โซลเวอร์คือ:

<asp:control_name id="some_id" runat="server" />

ในตัวอย่างด้านล่างนี้ เราได้ประกาศ TextBox โคนควบคุม 1 ตัว หลักประกาศ Button หลักประกาศ RangeValidator หลักประกาศ ถ้าการตรวจสอบล้มเหลว ข้อความ "The value must be from 1 to 100!" จะแสดงในหลักประกาศ RangeValidator ดังนี้:

<html>
<body>
<form runat="server">
<p>Enter a number from 1 to 100:
<asp:TextBox id="tbox1" runat="server" />
<br /><br />
<asp:Button Text="Submit" runat="server" />
</p>
<p>
<asp:RangeValidator
ControlToValidate="tbox1"
MinimumValue="1"
MaximumValue="100"
Type="Integer"
Text="The value must be from 1 to 100!"
runat="server" />
</p>
</form>
</body>
</html>

แสดงตัวอย่างนี้