一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - ASP.NET教程 - 網頁(aspx)與用戶控件(ascx)交互邏輯處理實現

網頁(aspx)與用戶控件(ascx)交互邏輯處理實現

2019-10-30 15:53asp.net教程網 ASP.NET教程

為了以后好維護,把幾個頁面(ASPX)相同的部分抽取放在一個用戶控件(ASCX)上,現在把邏輯分享下,感興趣的各位可以參考下哈

幾個頁面(ASPX)都使用一些相同的控件,一個文本框,二個按鈕(搜索和導出),為了以后好維護,把這相同的部分抽取放在一個用戶控件(ASCX)上。現需要處理邏輯如下 

搜索事件處理的邏輯在各個頁面處理。 問題是按鈕在用戶控件內,Click事件怎樣寫在各個頁面上? 
每個頁面的搜索結果不同的格式,因此把結果顯示于各自的頁面上。 

用戶控件的導出默認是Enabled="false" ,當有搜索結果時,它才會變為true。 它怎樣知道各個頁面是否已經有了結果? 

用戶控件的文本框的值,作為搜索條件,也就是每個頁面的執行方法的參數。 aspx怎樣獲取用戶控件ascx內的文本框的值? 

下面是ascx: 

復制代碼代碼如下:


<%@ Control Language="C#" AutoEventWireup="true" CodeFile="SearchForm.ascx.cs" Inherits="System_Assets_Report_SearchForm" %> 
<div style="margin: 3px;"> 
資產編號 <asp:TextBox ID="TextBoxAssetsNumber" runat="server" CssClass="textbox" Height="20px" ></asp:TextBox> 
<asp:Button ID="ButtonSearch" runat="server" Text="Search" OnClick="ButtonSearch_Click" /> 
 <asp:Button ID="ButtonExport" runat="server" Text="導出至Excel" OnClick="ButtonExport_Click" Enabled="false" /> 
</div> 


為了解決搜索的Click事件在各個頁面執行,Insus.NET在用戶控件使用委托(delegate): 

復制代碼代碼如下:


public delegate void SearchEventHandler(object sender, EventArgs e); 
public delegate void ExportEventHandler(object sender, EventArgs e); 


另外為了搜索結果是否有記錄,對應導出銨鈕是否禁用與啟用,因此在用戶控件寫一個帶參的方法: 

復制代碼代碼如下:


public void EnabledExportButton(bool enabled) 

this.ButtonExport.Enabled = enabled; 


還有就是為了把用戶控件的文本框的值帶結aspx.cs頁面,還需要寫一個修飾符為public的方法: 

復制代碼代碼如下:


public string GetAssetsNumber() 

return this.TextBoxAssetsNumber.Text.Trim(); 


完整的ascx.cs代碼: 

復制代碼代碼如下:


using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 
using Insus.NET; 
public partial class System_Assets_Report_SearchForm : BaseUserControl 

public delegate void SearchEventHandler(object sender, EventArgs e); 
public delegate void ExportEventHandler(object sender, EventArgs e); 
public event SearchEventHandler SearchClick; 
public event ExportEventHandler ExportClick; 
public string GetAssetsNumber() 

return this.TextBoxAssetsNumber.Text.Trim(); 

public void EnabledExportButton(bool enabled) 

this.ButtonExport.Enabled = enabled; 

protected void Page_Load(object sender, EventArgs e) 


protected void ButtonSearch_Click(object sender, EventArgs e) 

if (SearchClick != null) 
SearchClick(this, e); 

protected void ButtonExport_Click(object sender, EventArgs e) 

if (ExportClick != null) 
ExportClick(this, e); 


各個aspx頁,下面只列示一頁: 
網頁(aspx)與用戶控件(ascx)交互邏輯處理實現 
.aspx.cs代碼示例: 
網頁(aspx)與用戶控件(ascx)交互邏輯處理實現

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 东京道一本热大交乱 | 视频一区精品 | 出轨同学会2在线观看 | 亚洲国产精品热久久 | 亚洲精品国产专区91在线 | 久久艹综合 | 韩国三级在线高速影院 | 日本天堂影院在线播放 | 日韩精品视频在线播放 | 国产第一综合另类色区奇米 | 日本三级做a全过程在线观看 | 免费视频观看 | 日韩在线一区二区三区免费视频 | 牛牛色婷婷在线视频播放 | 2020中文字幕 | 性欧美黑人巨大喷潮xxoo | 和两个男人玩3p好爽视频 | 色中色导航| 国产91精品露脸国语对白 | 色姑娘久 | 91在线免费播放 | 色婷婷六月丁香在线观看 | 91精品国产91久久久久久麻豆 | 国产91一区二区在线播放不卡 | 97色轮| 4444www免费看 | 欧美涩区 | 暖暖日本在线观看免费 | 亚洲高清国产拍精品动图 | 国产在线观看福利 | 国产亚洲精品一区二区在线观看 | 男人狂擦女人的下面视频 | 日本成熟bbxxxxxxxx | 亚洲乱亚洲乱妇41p国产成人 | 天天操天天射天天爽 | 亚洲六月丁香六月婷婷色伊人 | 99热色 | 第一次破女视频国产一级 | 国产精品久久香蕉免费播放 | 香蕉国产人午夜视频在线观看 | 免费大片|