ASP.Net/Development/Code Behind
Содержание
Call function in code behind
<%@ 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">
<BR><BR>
<asp:label
id="lblMessage1"
runat="Server"
/>
<BR><BR>
<asp:label
id="lblMessage2"
runat="Server"
/>
<BR><BR>
<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 _
& "<BR>Current Script Timeout: " _
& Server.ScriptTimeOut & " seconds<BR>Path to Page: " _
& Server.MapPath("") & "<BR>System Date/Time: " _
& Date.Now()
End Function
End Class
--%>
Code Behind In action
<%@ 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:<br /> <br />
<form action="CodeBehind1.aspx" Method="Post" Runat="Server">
<asp:textbox id="name" runat="Server" />
<asp:button text="ClickMe!" OnClick="SubmitBtn_Click" runat="server" />
<br /><br />
<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
--%>
Code behind with namespace
<%@ Page language="vb" src="Codebehind.vb"
Inherits="aspnetian.CodeBehind" %>
<html>
<head></head>
<body>
<form runat="server">
<h1>Code-behind demonstration</h1>
<p>
<asp:label id="message" runat="server">
Enter your name to sign in:
</asp:label>
</p>
<p>
<table id="SignInTable" cellpadding="5"
cellspacing="1" bgcolor="Silver" runat="server">
<tr>
<td align="right">Name:</td>
<td align="left">
<asp:textbox id="SignInBox" width="200" runat="server"/>
</td>
</tr>
<tr>
<td colspan="2" align="middle">
<asp:button id="SignInButton" runat="server" text="Sign in"/>
</td>
</tr>
</table>
</p>
</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() & "<br>" & 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
--%>
Define and use namespace in code behind
<%@ 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 = "<b>Unknown Customer</b>";
}
else
{
lblWelcome.Text = "<b>Cookie Found.</b><br><br>";
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 = "<b>Cookie Created.</b>";
lblWelcome.Text += "New Customer: " + cookie["Name"];
}
}
}
--%>
Define two page classes in one code behind file
<%@ 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">
<BR><BR>
<asp:label
id="lblMessage1"
runat="Server"
/>
<BR><BR>
</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
--%>