手机版

网页(aspx)与用户控件(ascx)交互逻辑处理实现

时间:2021-11-22 来源:互联网 编辑:宝哥软件园 浏览:

几个页面(ASPX)都使用一些相同的控件,一个文本框,二个按钮(搜索和导出),为了以后好维护,把这相同的部分抽取放在一个用户控件(ASCX)上。现需要处理逻辑如下搜索事件处理的逻辑在各个页面处理。问题是按钮在用户控件内,点击事件怎样写在各个页面上?每个页面的搜索结果不同的格式,因此把结果显示于各自的页面上。用户控件的导出默认是Enabled='false ',当有搜索结果时,它才会变为真的。它怎样知道各个页面是否已经有了结果?用户控件的文本框的值,作为搜索条件,也就是每个页面的执行方法的参数aspx。怎样获取用户控件ascx内的文本框的值?下面是ascx:复制代码代码如下: %@控制语言=' c# ' AutoEventWireup=' true ' CodeFile='搜索表单。ascx。cs ' Inherits=' System _ Assets _ Report _ search表单' % div style=' margin : 3px'资产编号asp3360 textbox ID=' textbox assets number ' runat=' server ' CSS class=' textbox ' Height=' 20px '/asp: textbox ASP : button ID=' button Search ' runat=' server ' Text=' Search ' OnClick=' button Search _ Click '/ASP : button ID=' button export ' runat=' server ' Text='导出至excel ' OnClick='按钮export _ Click ' Enabled=' false '/div为了解决搜索的点击事件在各个页面执行因苏斯。网在用户控件使用委托(代表):复制代码代码如下:公共委托void SearchEventHandler(对象发送方,事件参数e);公共委托void ExportEventHandler(对象发送方,EventArgs e);另外为了搜索结果是否有记录,对应导出铵钮是否禁用与启用,因此在用户控件写一个带参的方法:复制代码代码如下:公共void enabledexport按钮(bool enabled){ this .按钮导出。启用=启用;} 还有就是为了把用户控件的文本框的值带结aspx.cs页面,还需要写一个修饰符为公众的的方法:复制代码代码如下:公共字符串getassetnumber(){ 0返回这个文本框资产编号。文字。trim();} 完整的ascx.cs代码:复制代码代码如下:使用系统;使用系统。集合。通用;使用系统Linq .使用系统网络.使用系统网络。用户界面使用系统。网络控件;使用因苏。NET公共分部类系统_资产_报告_搜索表单:基本用户控件{公共委托void SearchEventHandler(对象发送方,事件参数e);公共委托void ExportEventHandler(对象发送方,EventArgs e);公共事件搜索事件处理程序搜索单击;公共事件ExportEventHandler ExportClick公共字符串getassetnumber(){ 0返回这个文本框资产编号。文字。trim();} public void enabledexport button(bool enabled){ this .按钮导出。启用=启用;}受保护的无效页面_加载(对象发送者,事件参数e) { }受保护的作废按钮搜索_点击(对象发送者,事件参数e) { if (SearchClick!=null) SearchClick(this,e);}受保护的void按钮导出_单击(对象发送者,EventArgs e) { if (ExportClick!=null) ExportClick(this,e);} } 各个aspx页,下面只列示一页。aspx.cs代码示例

版权声明:网页(aspx)与用户控件(ascx)交互逻辑处理实现是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。