首页 后端开发 php教程 paip.PHP-asp—jsp实现事件机制 WEBFORM式开发_PHP教程

paip.PHP-asp—jsp实现事件机制 WEBFORM式开发_PHP教程

Jul 13, 2016 pm 05:54 PM
jsp 事件 实现 开发 机制

paip.PHP-asp—jsp实现事件机制 WEBFORM式开发 

前言... 1

CODE Behind代码分离... 1

页面控件... 1

实现一个窗体... 2

实现状态VIEWSTATE保存... 2

Page_Ini事件与Page_Load事件... 3

实现button1_click事件... 4

实现button2_click事件... 4

附注: webform.CodeFile.php源码... 5

 

前言
我们都知道asp.net是以WEBFORM式开发的,易于理解,基于事件机制..开发效率比起MVC方式要大大的快..

PHP,ASP,JSP也是可以以WEBFORM开发的.,这里我们以PHP为例子说明如何进行WEBFORM式开发..

 

CODE Behind代码分离
如需要实现代码分离,除了MVC以外,还可以使用Code-Behind技术来实现,更加简单,开发效率比MVC要快得多..并且容易实现模块化,组件化

在我里我们实现两个页面,一个放界面HTML代码,,起名为webform.php,一个放代码,命名为webform.CodeFile.php

 

要实现CODE Behind,在webform.php 第一行加入以下代码:

页面控件
在ASP。NET中,我们是用RUNAT=“SERVER”,来表明一个HTML控件可以在服务端引用..在PHP中,需要使用变通的方式来实现

LABEL控件:

      

    

 

Textbox控件:

 

实现一个窗体
在这里我们需要一个LABLE,一个TEXTBOX控件,两个按钮控件..

我们的要求是当点击第1个按钮时,将LABLE与TEXTBOX值都设为button1 click…

当点击第二个按钮时,将LABLE值设为 TEXTBOX中的输入值

总代码如下

 

 

        

    

 

 

input:

   

 

 

   

    

 

 

 

实现状态VIEWSTATE保存
在CODE Behind文件中,webform.CodeFile.php..  我们写代码来实现前台界面控件状态保存。。当界面提交后返回时控件值都在..

 

//保持控件状态,viewstate管理

viewstate();

 

//__VIEWSTATE

function  viewstate()

{

  

    foreach ($_REQUEST as $color){

        $key=key($_REQUEST);

          

        $controlName=$key."_Text";

        //      echo ($key."---".$color."
");

        global $$controlName;

        $$controlName  =$color;

        next($_REQUEST);

    }

}

 

 

Page_Ini事件与Page_Load事件
当我们第一次访问此窗体时,触发Page_Ini事件,..每次访问此页面时,则总会触发Page_Load事件..

 

//页面事件注册

eventReg4Page();

 

function Page_Ini()

{

 

    echo "page ini event ";

    global $Label1_Text;

    $Label1_Text="  Page_Ini click";

    global    $TextBox1_Text;

    $TextBox1_Text="  Page_Ini click";

 

}

 

function Page_Load()

{

 

 

    echo "page load event ";

 

}

 

实现button1_click事件
 

//控件事件注册

eventReg("Button1",Button1_Click);

 

//按钮控件Button1的点击事件

function Button1_Click()

{

    global    $TextBox1_Text;

    $TextBox1_Text="  button1 click";

    global $Label1_Text;

    $Label1_Text="  button1 click";

 

}

//事件注册

function eventReg($controlName,$controlEvent)

{

 

 

 

    if($_POST[$controlName])

        $controlEvent();

 

 

}

 

实现button2_click事件
//按钮控件Button2的点击事件

function Button2_Click()

{

         global    $TextBox1_Text;

//  $TextBox1_Text="  button2 click";

        global $Label1_Text;

        $Label1_Text=$TextBox1_Text;

 

}

 

附注: webform.CodeFile.php源码
 

//保持控件状态,viewstate管理

viewstate();

//控件事件注册

eventReg("Button1",Button1_Click);

eventReg("Button2",Button2_Click);

//页面事件注册

eventReg4Page();

 

 

 

function Page_Ini()

{

 

    echo "page ini event ";

    global $Label1_Text;

    $Label1_Text="  Page_Ini click";

    global    $TextBox1_Text;

    $TextBox1_Text="  Page_Ini click";

 

}

 

function Page_Load()

{

 

 

    echo "page load event ";

 

}

 

//按钮控件Button1的点击事件

function Button1_Click()

{

    global    $TextBox1_Text;

    $TextBox1_Text="  button1 click";

    global $Label1_Text;

    $Label1_Text="  button1 click";

 

}

//按钮控件Button2的点击事件

function Button2_Click()

{

         global    $TextBox1_Text;

//  $TextBox1_Text="  button2 click";

        global $Label1_Text;

        $Label1_Text=$TextBox1_Text;

 

}

 

//-----------------以下函数可以做为公共函数,包含进来-------------------

 

//事件注册

function eventReg($controlName,$controlEvent)

{

    if($_POST[$controlName])

        $controlEvent();

}

//页面事件注册

function eventReg4Page()

{

    if(!$_POST)

    {

        if(function_exists("Page_Ini"))

            call_user_func("Page_Ini");

    }

        

    //注册Page_Load事件

    if(function_exists("Page_load"))

        call_user_func("Page_load");

 

}

//__VIEWSTATE

function  viewstate()

{

  

    foreach ($_REQUEST as $color){

        $key=key($_REQUEST);

          

        $controlName=$key."_Text";

        //      echo ($key."---".$color."
");

        global $$controlName;

        $$controlName  =$color;

        next($_REQUEST);

    }

}

?>

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477976.htmlTechArticlepaip.PHP-aspjsp实现事件机制 WEBFORM式开发 前言... 1 CODE Behind代码分离... 1 页面控件... 1 实现一个窗体... 2 实现状态VIEWSTATE保存... 2 Page_Ini事件与...
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解锁Myrise中的所有内容
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

华为手机如何实现双微信登录? 华为手机如何实现双微信登录? Mar 24, 2024 am 11:27 AM

华为手机如何实现双微信登录?随着社交媒体的兴起,微信已经成为人们日常生活中不可或缺的沟通工具之一。然而,许多人可能会遇到一个问题:在同一部手机上同时登录多个微信账号。对于华为手机用户来说,实现双微信登录并不困难,本文将介绍华为手机如何实现双微信登录的方法。首先,华为手机自带的EMUI系统提供了一个很便利的功能——应用双开。通过应用双开功能,用户可以在手机上同

四款值得推荐的AI辅助编程工具 四款值得推荐的AI辅助编程工具 Apr 22, 2024 pm 05:34 PM

这个AI辅助编程工具在这个AI迅速发展的阶段,挖掘出了一大批好用的AI辅助编程工具。AI辅助编程工具能够提高开发效率、改善代码质量、降低bug率,是现代软件开发过程中的重要助手。今天大姚给大家分享4款AI辅助编程工具(并且都支持C#语言),希望对大家有所帮助。https://github.com/YSGStudyHards/DotNetGuide1.GitHubCopilotGitHubCopilot是一款AI编码助手,可帮助你更快、更省力地编写代码,从而将更多精力集中在问题解决和协作上。Git

学习如何利用Go语言开发移动应用程序 学习如何利用Go语言开发移动应用程序 Mar 28, 2024 pm 10:00 PM

Go语言开发移动应用程序教程随着移动应用市场的不断蓬勃发展,越来越多的开发者开始探索如何利用Go语言开发移动应用程序。作为一种简洁高效的编程语言,Go语言在移动应用开发中也展现出了强大的潜力。本文将详细介绍如何利用Go语言开发移动应用程序,并附上具体的代码示例,帮助读者快速入门并开始开发自己的移动应用。一、准备工作在开始之前,我们需要准备好开发环境和工具。首

AI程序员哪家强?探索Devin、通义灵码和SWE-agent的潜力 AI程序员哪家强?探索Devin、通义灵码和SWE-agent的潜力 Apr 07, 2024 am 09:10 AM

2022年3月3日,距世界首个AI程序员Devin诞生不足一个月,普林斯顿大学的NLP团队开发了一个开源AI程序员SWE-agent。它利用GPT-4模型在GitHub存储库中自动解决问题。SWE-agent在SWE-bench测试集上的表现与Devin相似,平均耗时93秒,解决了12.29%的问题。SWE-agent通过与专用终端交互,可以打开、搜索文件内容,使用自动语法检查、编辑特定行,以及编写和执行测试。(注:以上内容为原内容微调,但保留了原文中的关键信息,未超过指定字数限制。)SWE-A

PHP编程指南:实现斐波那契数列的方法 PHP编程指南:实现斐波那契数列的方法 Mar 20, 2024 pm 04:54 PM

编程语言PHP是一种用于Web开发的强大工具,能够支持多种不同的编程逻辑和算法。其中,实现斐波那契数列是一个常见且经典的编程问题。在这篇文章中,将介绍如何使用PHP编程语言来实现斐波那契数列的方法,并附上具体的代码示例。斐波那契数列是一个数学上的序列,其定义如下:数列的第一个和第二个元素为1,从第三个元素开始,每个元素的值等于前两个元素的和。数列的前几个元

如何在华为手机上实现微信分身功能 如何在华为手机上实现微信分身功能 Mar 24, 2024 pm 06:03 PM

如何在华为手机上实现微信分身功能随着社交软件的普及和人们对隐私安全的日益重视,微信分身功能逐渐成为人们关注的焦点。微信分身功能可以帮助用户在同一台手机上同时登录多个微信账号,方便管理和使用。在华为手机上实现微信分身功能并不困难,只需要按照以下步骤操作即可。第一步:确保手机系统版本和微信版本符合要求首先,确保你的华为手机系统版本已更新到最新版本,以及微信App

掌握Golang如何实现游戏开发的可能性 掌握Golang如何实现游戏开发的可能性 Mar 16, 2024 pm 12:57 PM

在当今的软件开发领域中,Golang(Go语言)作为一种高效、简洁、并发性强的编程语言,越来越受到开发者的青睐。其丰富的标准库和高效的并发特性使它成为游戏开发领域的一个备受关注的选择。本文将探讨如何利用Golang来实现游戏开发,并通过具体的代码示例来展示其强大的可能性。1.Golang在游戏开发中的优势作为一种静态类型语言,Golang在构建大型游戏系统

PHP游戏需求实现指南 PHP游戏需求实现指南 Mar 11, 2024 am 08:45 AM

PHP游戏需求实现指南随着互联网的普及和发展,网页游戏的市场也越来越火爆。许多开发者希望利用PHP语言来开发自己的网页游戏,而实现游戏需求是其中一个关键步骤。本文将介绍如何利用PHP语言来实现常见的游戏需求,并提供具体的代码示例。1.创建游戏角色在网页游戏中,游戏角色是非常重要的元素。我们需要定义游戏角色的属性,比如姓名、等级、经验值等,并提供方法来操作这些

See all articles