ASP.NET runat="server" เป็น Properties ที่ใช้กำหนดในส่วนของ Web Control ใน Tag ของ ASP.NET Web Form ซึ่งความหมายก็คือ Control ตัวนั้นถูกส่งให้ทำการประมวลผลที่ฝั่ง Web Server
หลักการทำงานก็คือ Control ที่มี Properties เป็น runat="server" จะถูกส่งให้ทำการประมวลผลฝั่ง Web Server ทั้งหมด และฝั่ง Web Server จะส่งกลับในรูปแบบของ HTML Tag กลับมา และ Control เหล่านี้จะสามารถเรียกใช้งานได้ภายใน ASP.NET Code ผ่าน [Me/this].Control-Name.Properties ได้โดยตรง ซึ่งต่างจาก HTML Control ถ้าไม่มี runat="server" จะใช้การเรียกผ่าน Request แทนครับ
MyFile.aspx (VB.NET)
<%@ Page Language="VB" %>
<%
Response.write ("This is ASP Tag")
%>
<script runat="server">
Sub Page_Load()
Me.txtName.Text = "This is ASP.NET Tag"
End Sub
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<%
Response.write("This is ASP Tag<br>")
%>
<asp:Label id="lblText" runat="server" text="Text"></asp:Label>
<asp:TextBox id="txtName" runat="server"></asp:TextBox>
</form>
</body>
</html>