ASP.Net/Development/Code Behind

Материал из .Net Framework эксперт
Перейти к: навигация, поиск

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
--%>