Ano ang ASPX file?
Ang isang file na may .aspx extension ay isang webpage na nabuo gamit ang Microsoft ASP.NET framework na tumatakbo sa mga web server. Ang ASPX ay kumakatawan sa Active Server Pages Extended at ang mga page na ito ay ipinapakita sa web browser sa dulo ng user kapag na-access ang URL. Ito ay kahalili ng ASP na teknolohiya na nabuo din sa dulo ng server ngunit hindi gumagamit ng .NET framework. Ang mga pahina ng ASP.NET ay maaaring maglaman ng C# o VB.NET na mga script na isinalin sa HTML ng web server para sa presentasyon sa user sa web browser. Ang mga pahina ng ASPX ay tinatawag ding .NET Web Forms. Ang mga ito ay mabubuksan at malikha gamit ang mga application tulad ng Microsoft Visual Studio, Adobe Dreamweaver, Notepad++, at anumang text editor.
Format ng File ng ASPX
Ang mga web form ng ASP.NET ay batay sa modelong hinimok ng kaganapan para sa mga pakikipag-ugnayan sa web application. Ang browser, bilang isang end user, ay nagsusumite ng web form sa server at ang server ay nagbabalik ng isang buong markup page o HTML page bilang tugon. Ang modelo ng bahagi ng ASP.NET ay nag-aalok ng object model para sa mga pahina ng ASPX. Inilalarawan ng modelong ito ang:
- Mga katapat sa gilid ng server ng halos lahat ng elemento o tag ng HTML, gaya ng <form> at <input>.
- Mga kontrol ng server, na tumutulong sa pagbuo ng kumplikadong user-interface. Halimbawa, ang kontrol ng Kalendaryo o ang kontrol ng Gridview.
Ginagamit ng mga ASPX file ang ASP.NET Code Behind model para sa pagbuo ng mga pahinang ito.
In-Line Code
Sample code na naka-embed inline sa ASPX page at nagbibigay ng lahat ng functionality para sa pagpapatupad ng user. Ang sumusunod na C# code ay kumakatawan sa isang sample na ASP.NET page na may kasamang in-line na code:
<%@ Language=C# %>
<HTML>
<script runat="server" language="C#">
void MyButton_OnClick(Object sender, EventArgs e)
{
MyLabel.Text = MyTextbox.Text.ToString();
}
</script>
<body>
<form id="MyForm" runat="server">
<asp:textbox id="MyTextbox" text="Hello World" runat="server"></asp:textbox>
<asp:button id="MyButton" text="Echo Input" OnClick="MyButton_OnClick" runat="server"></asp:button>
<asp:label id="MyLabel" runat="server"></asp:label>
</form>
</body>
</HTML>
Code-Behind
Maaaring isulat at iimbak ang code sa magkahiwalay na mga file ng klase para sa malinis na paghihiwalay ng HTML mula sa lohika ng pagtatanghal. Ginagawa nitong independyente ang presentation layer sa executable code. Ang sumusunod ay ang code-behind para sa presentasyon sa user.
<%@ Language="C#" Inherits="MyStuff.MyClass" %>
<HTML>
<body>
<form id="MyForm" runat="server">
<asp:textbox id="MyTextBox" text="Hello World" runat="server"></asp:textbox>
<asp:button id="MyButton" text="Echo Input" Onclick="MyButton_Click" runat="server"></asp:button>
<asp:label id="MyLabel" runat="server" />
</form>
</body>
</HTML>
Ang pagpapatupad ng C# ng aktwal na lohika para sa layer ng pagtatanghal ay ang sumusunod.
using System;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
namespace MyStuff
{
public class MyClass : Page
{
protected System.Web.UI.WebControls.Label MyLabel;
protected System.Web.UI.WebControls.Button MyButton;
protected System.Web.UI.WebControls.TextBox MyTextBox;
public void MyButton_Click(Object sender, EventArgs e)
{
MyLabel.Text = MyTextBox.Text.ToString();
}
}
}