使用母版页

使用母版页

左直拳

早在二年前使用ASPNET11的时候,面对许许多多风格、控件位置摆放非常相似的页面,总在做着拷贝、粘贴、修改的工作,虽然已经尽量使用用户控件,但还是有相当多重复的代码。我就想:“如果可以搞个自定义的页面基类,上面定好一些常用的样式、控件,以后创建新页就从基类派生该有多好”。

可是一直没有实现该功能,或者说,是没有这样做过。人就是这样奇怪,明知道某件事是很好的,可总提不起精神,拿不出时间去做,仿佛被鬼迷了。这也是世界上有人富裕有人穷的原因吧。据说富人与穷人的区别在于,他们在闲暇时间都忙些什么。不付出,又怎么会有收获呢?

道理谁都懂,实践起来就难。

现在好了,可以使用ASPNET20提供的母版页。

比如,一个网站的页面往往由

页头:上面放LOGO,导航条之类

页脚:什么关于、联系我们、版权信息

菜单:放在左侧或右侧

内容块:每个页面独有的内容

这几块组成。这时可将页头、页脚、菜单放在母版页,然后每个页面绑定母版页,做到每个页面只专注于自己的内容块。

稚嫩的雄鹰长出了翅膀从此可以飞过高山,幼小的老虎磨出了利爪往后能够扑杀猎物,新建一个页面呵,从今往后再也不用拷贝一个老页面,然后再修改!

但也出现了一些小小的问题。

1、是服务器控件或者凡是runat=server的控件,其ClientID在页面输出后,都跟在设计时不一样了。例如有个

<input type="text" id="txtName" runat="server" />

但输出后,却变成了

<input type="text" id="ctl00_Main_txtName" />

如果你原本在javascript里如下引用:document.getElementById("txtName");现在多半找不到了。可以沿用ASP的做法:

document.getElementById("<%=txtName.ClientID%>");

2、内容页要访问母版页上的控件不象同一页那么方便。

需要用Page.Master.FindControl();的方式,例如,

TextBox txt = (TextBox)Page.Master.FindControl(txtName);

假如要访问的控件是用户控件,这样写

MyCtrl myctrl = (MyCtrl)Page.Master.FindControl(MyCtrl<chmetcnv unitname="”" sourcevalue="1" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">1<span style='FONT-FAMILY: "Times New Roman"; mso-ascii-font-family: 新宋体'>”</span></chmetcnv>);

多半会编译出错,说缺乏MyCtrl的定义。原因是该控件在母版页上声明:

<%@ Register Src="myCtrl.ascx" TagName="myCtrl" TagPrefix="uc1" %>

一般情况下在内容页就不用再声明了。但如果要访问它就不同,也要在内容页的头部加上这一句。并没有重复声明的麻烦。

3、要支持在母版页上的控件事件怎么办?

比如说,我要在内容页支持我自己写的用户控件MyCtrl(在母版页)OnClick事件该怎么办?总不能将代码写在母版页吧?

别忘了,事件本质是委托,我们只要在内容页添加对该事件的委托就行了。

以前1.1的时候,代码页面有Page_Init事件的代码,可2.0就不知道跑哪去了。幸而自己加上去也有效:

protected void Page_Init(object sender, EventArgs e)

{

MyCtrl myctrl = (MyCtrl)Page.Master.FindControl(MyCtrl<chmetcnv unitname="”" sourcevalue="1" hasspace="False" negative="False" numbertype="1" tcsc="0" w:st="on">1<span style='FONT-FAMILY: "Times New Roman"; mso-ascii-font-family: 新宋体'>”</span></chmetcnv>);

if (myctrl != null)

{

myCtrl.Click += new MyCtrl.ClickEventHandler(MyCtrl1_Click);

}

}

内容概要:本文设计了一种基于PLC的全自动洗衣机控制系统内容概要:本文设计了一种,采用三菱FX基于PLC的全自动洗衣机控制系统,采用3U-32MT型PLC作为三菱FX3U核心控制器,替代传统继-32MT电器控制方式,提升了型PLC作为系统的稳定性与自动化核心控制器,替代水平。系统具备传统继电器控制方式高/低水,实现洗衣机工作位选择、柔和过程的自动化控制/标准洗衣模式切换。系统具备高、暂停加衣、低水位选择、手动脱水及和柔和、标准两种蜂鸣提示等功能洗衣模式,支持,通过GX Works2软件编写梯形图程序,实现进洗衣过程中暂停添加水、洗涤、排水衣物,并增加了手动脱水功能和、脱水等工序蜂鸣器提示的自动循环控制功能,提升了使用的,并引入MCGS组便捷性与灵活性态软件实现人机交互界面监控。控制系统通过GX。硬件设计包括 Works2软件进行主电路、PLC接梯形图编程线与关键元,完成了启动、进水器件选型,软件、正反转洗涤部分完成I/O分配、排水、脱、逻辑流程规划水等工序的逻辑及各功能模块梯设计,并实现了大形图编程。循环与小循环的嵌; 适合人群:自动化套控制流程。此外、电气工程及相关,还利用MCGS组态软件构建专业本科学生,具备PL了人机交互C基础知识和梯界面,实现对洗衣机形图编程能力的运行状态的监控与操作。整体设计涵盖了初级工程技术人员。硬件选型、; 使用场景及目标:I/O分配、电路接线、程序逻辑设计及组①掌握PLC在态监控等多个方面家电自动化控制中的应用方法;②学习,体现了PLC在工业自动化控制中的高效全自动洗衣机控制系统的性与可靠性。;软硬件设计流程 适合人群:电气;③实践工程、自动化及相关MCGS组态软件与PLC的专业的本科生、初级通信与联调工程技术人员以及从事;④完成PLC控制系统开发毕业设计或工业的学习者;具备控制类项目开发参考一定PLC基础知识。; 阅读和梯形图建议:建议结合三菱编程能力的人员GX Works2仿真更为适宜。; 使用场景及目标:①应用于环境与MCGS组态平台进行程序高校毕业设计或调试与运行验证课程项目,帮助学生掌握PLC控制系统的设计,重点关注I/O分配逻辑、梯形图与实现方法;②为工业自动化领域互锁机制及循环控制结构的设计中类似家电控制系统的开发提供参考方案;③思路,深入理解PL通过实际案例理解C在实际工程项目PLC在电机中的应用全过程。控制、时间循环、互锁保护、手动干预等方面的应用逻辑。; 阅读建议:建议结合三菱GX Works2编程软件和MCGS组态软件同步实践,重点理解梯形图程序中各环节的时序逻辑与互锁机制,关注I/O分配与硬件接线的对应关系,并尝试在仿真环境中调试程序以加深对全自动洗衣机控制流程的理解。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值