ASP.Net/Development/Code Behind
Содержание
Call function in code behind
<source lang="csharp">
<%@ Page
language=VB debug=true src="ProcsInCodeBehind.vb" Inherits="clsProcsInCodeBehind"
%> <script runat=server> Sub Page_Load(ByVal Sender as Object, ByVal E as EventArgs)
lblMessage1.Text = "Pi to three digits: " & RoundPI(3) lblMessage2.Text = "Circumference of a 4cm Radius Circle: " _ & CircleCircumference(4) lblMessage3.Text = SystemInfo()
End Sub
</SCRIPT>
<HTML>
<HEAD>
<TITLE>Creating and Linking to a Code-Behind Files</TITLE>
</HEAD>
<form runat="server">
<asp:label
id="lblMessage1" runat="Server"
/>
<asp:label
id="lblMessage2" runat="Server"
/>
<asp:label
id="lblMessage3" runat="Server"
/> </form> </BODY> </HTML> <%-- Imports System Public Class clsProcsInCodeBehind
Inherits System.Web.UI.Page Public Function RoundPI(DecimalPlaces as Integer) RoundPI = Math.Round(Math.PI, DecimalPlaces) End Function Public Function CircleCircumference(TheRadius as Double) _ as Double CircleCircumference = 2 * TheRadius * Math.PI End Function Public Function SystemInfo() SystemInfo = "Machine Name: " & Server.MachineName _ & "
Current Script Timeout: " _ & Server.ScriptTimeOut & " seconds
Path to Page: " _ & Server.MapPath("") & "
System Date/Time: " _ & Date.Now() End Function
End Class --%>
</source>
Code Behind In action
<source lang="csharp">
<%@ Page Inherits="MyCodeBehind" Src="SimpleCodeBehind.vb" %> <html> <head><title>Simple Code-Behind Page</title></head> <body>
Please enter your name then click the button below:
<form action="CodeBehind1.aspx" Method="Post" Runat="Server">
<asp:textbox id="name" runat="Server" /> <asp:button text="ClickMe!" OnClick="SubmitBtn_Click" runat="server" />
<asp:label id="message" runat="Server" />
</form> </body> </html> <%-- Imports System Imports System.Web.UI Imports System.Web.UI.WebControls
Public Class MyCodeBehind : Inherits Page
Public Name as Textbox Public Message as Label Public Sub SubmitBtn_Click(Sender As Object, E As EventArgs) Message.text = "Hello " & Name.Text End Sub
End Class
--%>
</source>
Code behind with namespace
<source lang="csharp">
<%@ Page language="vb" src="Codebehind.vb"
Inherits="aspnetian.CodeBehind" %>
<html> <head></head> <body>
<form runat="server">
Code-behind demonstration
<asp:label id="message" runat="server"> Enter your name to sign in: </asp:label>
Name: |
<asp:textbox id="SignInBox" width="200" runat="server"/> |
<asp:button id="SignInButton" runat="server" text="Sign in"/> |
</form>
</body> </html> <%-- Imports System Imports System.Web Imports System.Web.UI Imports System.Web.UI.WebControls Imports System.Web.UI.HtmlControls Namespace aspnetian Public Class CodeBehind : Inherits System.Web.UI.Page
Protected Message As Label Protected SignInTable As HtmlTable Protected WithEvents SignInButton As Button Protected SignInBox As TextBox Protected Sub Page_Load(sender As Object, e As EventArgs) If Page.IsPostBack Then Message.Text = "Time is: " & DateTime.Now() & "
" & Message.Text End If End Sub Protected Sub SignInButton_Click(obj As Object, e As EventArgs ) Handles SignInButton.Click Message.Text = "Congratulations, " & SignInBox.Text & _ "!!! You have successfully signed in." SignInTable.Visible = false End Sub
End Class End Namespace --%>
</source>
Define and use namespace in code behind
<source lang="csharp">
<%@ Page language="c#" src="CookieExample.aspx.cs" AutoEventWireup="false" Inherits="YourNamespace.CookieExample" %> <HTML>
<body> <form id="Form1" method="post" runat="server"> <asp:Label id="lblWelcome" style="Z-INDEX: 100; LEFT: 16px; POSITION: absolute; TOP: 24px" runat="server" Width="412px" Height="130px" BackColor="LightYellow" Font-Size="Medium" Font-Names="Verdana" BorderWidth="2px" BorderStyle="Groove"></asp:Label> <asp:Button id="Button1" style="Z-INDEX: 105; LEFT: 288px; POSITION: absolute; TOP: 264px" runat="server" Width="137px" Text="Submit Page"></asp:Button> <asp:TextBox id="txtName" style="Z-INDEX: 101; LEFT: 96px; POSITION: absolute; TOP: 200px" runat="server" Width="184px" Height="24px"></asp:TextBox> <asp:Button id="cmdStore" style="Z-INDEX: 103; LEFT: 288px; POSITION: absolute; TOP: 200px" runat="server" Width="137px" Text="Create Cookie"></asp:Button> <asp:Label id="Label1" style="Z-INDEX: 104; LEFT: 24px; POSITION: absolute; TOP: 204px" runat="server" Width="56px" Height="16px" Font-Size="X-Small" Font-Names="Verdana">Name:</asp:Label> </form> </body>
</HTML> <%-- using System; using System.Collections; using System.ruponentModel; using System.Data; using System.Drawing; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; using System.Net; namespace YourNamespace {
/// <summary> /// Summary description for CookieExample. /// </summary> public class CookieExample : System.Web.UI.Page { protected System.Web.UI.WebControls.Label lblWelcome; protected System.Web.UI.WebControls.TextBox txtName; protected System.Web.UI.WebControls.Button cmdStore; protected System.Web.UI.WebControls.Button Button1; protected System.Web.UI.WebControls.Label Label1; private void Page_Load(object sender, System.EventArgs e) { HttpCookie cookie = Request.Cookies["Preferences"]; if (cookie == null) { lblWelcome.Text = "Unknown Customer"; } else { lblWelcome.Text = "Cookie Found.
"; lblWelcome.Text += "Welcome, " + cookie["Name"]; } } #region Web Form Designer generated code override protected void OnInit(EventArgs e) { // // CODEGEN: This call is required by the ASP.NET Web Form Designer. // InitializeComponent(); base.OnInit(e); } /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.cmdStore.Click += new System.EventHandler(this.cmdStore_Click); this.Load += new System.EventHandler(this.Page_Load); } #endregion private void cmdStore_Click(object sender, System.EventArgs e) { HttpCookie cookie = Request.Cookies["Preferences"]; if (cookie == null) { cookie = new HttpCookie("Preferences"); } cookie["Name"] = txtName.Text; cookie.Expires = DateTime.Now.AddYears(1); Response.Cookies.Add(cookie); lblWelcome.Text = "Cookie Created."; lblWelcome.Text += "New Customer: " + cookie["Name"]; } }
} --%>
</source>
Define two page classes in one code behind file
<source lang="csharp">
<%@ Page
language=VB debug=true src="ManyCodeBehind.vb" Inherits="clsMany1CodeBehind"
%>
<HTML>
<HEAD>
<TITLE>Creating Code-Behind Files Used by Many ASP.NET Pages</TITLE>
</HEAD>
<form runat="server">
<asp:label
id="lblMessage1" runat="Server"
/>
</form>
</BODY>
</HTML>
<%--
Imports System
Public Class clsMany1CodeBehind
Inherits System.Web.UI.Page Protected WithEvents lblMessage1 As _ System.Web.UI.WebControls.Label Private Sub Page_Init(ByVal sender As System.Object, _ ByVal e As System.EventArgs) lblMessage1.Text = "1" End Sub
End Class Public Class clsMany2CodeBehind
Inherits System.Web.UI.Page Protected WithEvents lblMessage1 As _ System.Web.UI.WebControls.Label Private Sub Page_Init(ByVal sender As System.Object, _ ByVal e As System.EventArgs) lblMessage1.Text = "2" End Sub
End Class --%>
</source>