paip.PHP-asp—jsp实现事件机制 WEBFORM式开发
2012-09-14 16:38
399 查看
paip.PHP-asp—jsp实现事件机制 WEBFORM式开发
Author作者Attilax
,
1466519819@qq.com
前言...
1
CODE Behind代码分离...
1
页面控件...
1
实现一个窗体...
2
实现状态VIEWSTATE保存...
2
Page_Ini事件与Page_Load事件...
3
实现button1_click事件...
4
实现button2_click事件...
4
附注: webform.CodeFile.php源码...
5
PHP,ASP,JSP也是可以以WEBFORM开发的.,这里我们以PHP为例子说明如何进行WEBFORM式开发..
在我里我们实现两个页面,一个放界面HTML代码,,起名为webform.php,一个放代码,命名为webform.CodeFile.php
要实现CODE Behind,在webform.php
第一行加入以下代码:
<?php require('webform.CodeFile.php');
?>
LABEL控件:
<span>
<?phpecho( $Label1_Text);?>
</span>
<input
type="hidden"
name="Label1"
value="<?phpecho($Label1_Text);?>"
/>
Textbox控件:
<input
type="text"
name="TextBox1"
value="<?phpecho($TextBox1_Text);?>"/>
我们的要求是当点击第1个按钮时,将LABLE与TEXTBOX值都设为button1
click…
当点击第二个按钮时,将LABLE值设为 TEXTBOX中的输入值
总代码如下
<?php
require('webform.CodeFile.php');
?>
<form
id="form1"
name="form1"
method="post"
action="">
<p>
<span>
<?phpecho( $Label1_Text);?>
</span>
<input
type="hidden"
name="Label1"
value="<?phpecho($Label1_Text);?>"
/>
</p>
<p>input:
<input
type="text"
name="TextBox1"
value="<?phpecho($TextBox1_Text);?>"/>
</p>
<p>
<input
type="submit"
name="Button1"
value="提交"
/>
<input
type="submit"
name="Button2"
value="提交2"
/>
</p>
</form>
我们写代码来实现前台界面控件状态保存。。当界面提交后返回时控件值都在..
<?php
//保持控件状态,viewstate管理
viewstate();
//__VIEWSTATE
function viewstate()
{
foreach
($_REQUEST as
$color){
$key=key($_REQUEST);
$controlName=$key."_Text";
//
echo ($key."---".$color."<br>");
global
$$controlName;
$$controlName =$color;
next($_REQUEST);
}
}
//页面事件注册
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 ";
}
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();
}
function Button2_Click()
{
global
$TextBox1_Text;
// $TextBox1_Text=" button2 click";
global
$Label1_Text;
$Label1_Text=$TextBox1_Text;
}
//保持控件状态,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."<br>");
global
$$controlName;
$$controlName =$color;
next($_REQUEST);
}
}
?>
Author作者Attilax
,
1466519819@qq.com
前言...
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
第一行加入以下代码:
<?php require('webform.CodeFile.php');
?>
页面控件
在ASP。NET中,我们是用RUNAT=“SERVER”,来表明一个HTML控件可以在服务端引用..在PHP中,需要使用变通的方式来实现LABEL控件:
<span>
<?phpecho( $Label1_Text);?>
</span>
<input
type="hidden"
name="Label1"
value="<?phpecho($Label1_Text);?>"
/>
Textbox控件:
<input
type="text"
name="TextBox1"
value="<?phpecho($TextBox1_Text);?>"/>
实现一个窗体
在这里我们需要一个LABLE,一个TEXTBOX控件,两个按钮控件..我们的要求是当点击第1个按钮时,将LABLE与TEXTBOX值都设为button1
click…
当点击第二个按钮时,将LABLE值设为 TEXTBOX中的输入值
总代码如下
<?php
require('webform.CodeFile.php');
?>
<form
id="form1"
name="form1"
method="post"
action="">
<p>
<span>
<?phpecho( $Label1_Text);?>
</span>
<input
type="hidden"
name="Label1"
value="<?phpecho($Label1_Text);?>"
/>
</p>
<p>input:
<input
type="text"
name="TextBox1"
value="<?phpecho($TextBox1_Text);?>"/>
</p>
<p>
<input
type="submit"
name="Button1"
value="提交"
/>
<input
type="submit"
name="Button2"
value="提交2"
/>
</p>
</form>
实现状态VIEWSTATE保存
在CODE Behind文件中,webform.CodeFile.php..我们写代码来实现前台界面控件状态保存。。当界面提交后返回时控件值都在..
<?php
//保持控件状态,viewstate管理
viewstate();
//__VIEWSTATE
function viewstate()
{
foreach
($_REQUEST as
$color){
$key=key($_REQUEST);
$controlName=$key."_Text";
//
echo ($key."---".$color."<br>");
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源码
<?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."<br>");
global
$$controlName;
$$controlName =$color;
next($_REQUEST);
}
}
?>
相关文章推荐
- PHP实现事件机制实例分析
- 基于PHP实现的事件机制实例分析
- PHP实现事件机制实例分析
- PHP实现事件机制的方法
- 仿AS3实现PHP 事件机制实现代码
- JSP、PHP、ASP跳转代码实现一个网站空间绑定多个域名,建立多个网站
- 301重定向实现方法(asp.net asp php jsp)
- 仿AS3实现PHP 事件机制实现代码
- 基于PHP实现的事件机制实例分析
- 301重定向设置及程序代码实现全集(ASP|.NET|PHP|JSP)
- paip.函数方法回调机制跟java php python c++的实现
- paip.函数方法回调机制跟java php python c++的实现
- PHP实现事件机制的方法
- PHP实现事件机制实例分析
- PHP实现事件机制实例分析
- asp.net ajax的事件机制小议
- jsp/servlet/struts/hibernate/spring内部实现机制
- paip.提升安全性----Des加密 java php python的实现总结