ล่าสุดการพัฒนาเว็บบทเรียน
×

ASP.NET เกี่ยวกับการสอน

ASP.NET บ้าน ASP.NET แนะนำ

WP เกี่ยวกับการสอน

WebPages แนะนำ WebPages มีดโกน WebPages แบบ WebPages โฟลเดอร์ WebPages สถานการณ์โดยรวม WebPages ฟอร์ม WebPages วัตถุ WebPages ไฟล์ WebPages ฐานข้อมูล WebPages ผู้ช่วย WebPages WebGrid WebPages ชาร์ต WebPages อีเมล์ WebPages PHP WebPages ประกาศ WebPages ตัวอย่าง

WP คู่มืออ้างอิง

WebPages ชั้นเรียน WebPages ความปลอดภัย WebPages ฐานข้อมูล WebPages เว็บเมล์ WebPages ผู้ช่วย

ASP.NET Razor

Razor แนะนำ Razor วากยสัมพันธ์ Razor C# ตัวแปร Razor C# ลูป Razor C# ตรรกะ Razor VB ตัวแปร Razor VB ลูป Razor VB ตรรกะ

ASP.NET MVC

MVC แนะนำ MVC ใบสมัคร MVC โฟลเดอร์ MVC แบบ MVC ตัวควบคุม MVC เข้าชม MVC ฐานข้อมูล MVC แบบ MVC ความปลอดภัย MVC HTML ผู้ช่วย MVC ประกาศ MVC การอ้างอิง

WF สอน

WebForms แนะนำ WebForms หน้า WebForms การควบคุม WebForms เหตุการณ์ WebForms ฟอร์ม WebForms ViewState WebForms กล่องข้อความ WebForms ปุ่ม WebForms ข้อมูลผูกพัน WebForms ArrayList WebForms Hashtable WebForms SortedList WebForms XML ไฟล์ WebForms Repeater WebForms DataList WebForms DbConnection WebForms Master หน้า WebForms การเดินเรือ WebForms ตัวอย่าง


 

ASP.NETเว็บฟอร์ม - การควบคุมเซิร์ฟเวอร์


ควบคุมเซิร์ฟเวอร์ที่มีแท็กที่มีความเข้าใจโดยเซิร์ฟเวอร์


ข้อ จำกัด ในคลาสสิก ASP

รายชื่อดังต่อไปนี้ได้รับการคัดลอกมาจากบทก่อนหน้านี้:

<html>
<body bgcolor="yellow">
<center>
<h2>Hello w3ii!</h2>
<p> <%Response.Write(now())%> </p>
</center>
</body>
</html>

โค้ดข้างต้นแสดงให้เห็นถึงข้อ จำกัด ในคลาสสิก ASP A: การป้องกันรหัสจะต้องมีการวางตำแหน่งที่คุณต้องการออกไปปรากฏ

ด้วยความคลาสสิก ASP มันเป็นไปไม่ได้ที่จะแยกรหัสปฏิบัติการจาก HTML ของตัวเอง นี้จะทำให้หน้ายากที่จะอ่านและยากที่จะรักษา


การควบคุมเซิร์ฟเวอร์ - ASP.NET

ASP.NET ได้แก้ไข "spaghetti-code" ปัญหาที่อธิบายข้างต้นด้วยการควบคุมเซิร์ฟเวอร์

ควบคุมเซิร์ฟเวอร์ที่มีแท็กที่มีความเข้าใจโดยเซิร์ฟเวอร์

มีสามชนิดของการควบคุมเซิร์ฟเวอร์:

  • ควบคุมเซิร์ฟเวอร์ HTML - แท็ก HTML แบบดั้งเดิม
  • การควบคุมเว็บเซิร์ฟเวอร์ - แท็ก ASP.NET ใหม่
  • การควบคุมการตรวจสอบเซิร์ฟเวอร์ - สำหรับการเข้าตรวจสอบ

ควบคุมเซิร์ฟเวอร์ HTML - ASP.NET

ควบคุมเซิร์ฟเวอร์ HTML มีแท็ก HTML เข้าใจโดยเซิร์ฟเวอร์

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

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

ในตัวอย่างต่อไปนี้เราประกาศควบคุมเซิร์ฟเวอร์ HtmlAnchor ในแฟ้มขอบ จากนั้นเราก็จัดการ HRef แอตทริบิวต์ของการควบคุม HtmlAnchor ในตัวจัดการเหตุการณ์ (an event handler is a subroutine that executes code for a given event) Page_Load เหตุการณ์เป็นหนึ่งในกิจกรรมหลายอย่างที่เข้าใจ ASP.NET:

<script runat="server">
Sub Page_Load
link1.HRef="http://www.w3ii.com"
End Sub
</script>

<html>
<body>

<form runat="server">
<a id="link1" runat="server">Visit w3ii!</a>
</form>

</body>
</html>

รหัสปฏิบัติการตัวเองได้ถูกย้ายไปนอก HTML


ASP.NET - การควบคุมเว็บเซิร์ฟเวอร์

ควบคุมเว็บเซิร์ฟเวอร์ที่มีแท็ก ASP.NET พิเศษเข้าใจโดยเซิร์ฟเวอร์

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

ไวยากรณ์สำหรับการสร้างการควบคุมเว็บเซิร์ฟเวอร์คือ:

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

ในตัวอย่างต่อไปนี้เราประกาศควบคุมเซิร์ฟเวอร์ปุ่มในแฟ้มขอบ จากนั้นเราก็สร้างตัวจัดการเหตุการณ์สำหรับเหตุการณ์คลิกซึ่งการเปลี่ยนแปลงข้อความบนปุ่ม:

<script runat="server">
Sub submit(Source As Object, e As EventArgs)
button1.Text="You clicked me!"
End Sub
</script>

<html>
<body>

<form runat="server">
<asp:Button id="button1" Text="Click me!"
runat="server" OnClick="submit"/>
</form>

</body>
</html>

การควบคุมการตรวจสอบเซิร์ฟเวอร์ - ASP.NET

ควบคุมเซิร์ฟเวอร์การตรวจสอบจะใช้ในการตรวจสอบการใช้การป้อนข้อมูล หากผู้ใช้อินพุตไม่ผ่านการตรวจสอบก็จะแสดงข้อผิดพลาดให้กับผู้ใช้

แต่ละการควบคุมการตรวจสอบดำเนินการประเภทที่เฉพาะเจาะจงของการตรวจสอบ (เช่นการตรวจสอบกับค่าที่เฉพาะเจาะจงหรือช่วงของค่า)

โดยค่าเริ่มต้นการตรวจสอบหน้าจะดำเนินการเมื่อมีปุ่ม ImageButton หรือควบคุม LinkButton คลิก คุณสามารถป้องกันการตรวจสอบเมื่อมีการควบคุมปุ่มมีการคลิกโดยการตั้งค่า CausesValidation คุณสมบัติการเท็จ

ไวยากรณ์สำหรับการสร้างตัวควบคุมเซิร์ฟเวอร์การตรวจสอบคือ:

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

ในตัวอย่างต่อไปเราประกาศควบคุมกล่องข้อความหนึ่งปุ่มควบคุมและการควบคุม 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>

แสดงตัวอย่าง»