最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

網(wǎng)頁(aspx)與用戶控件(ascx)交互邏輯處理實現(xiàn)

來源:懂視網(wǎng) 責編:小采 時間:2020-11-27 22:41:24
文檔

網(wǎng)頁(aspx)與用戶控件(ascx)交互邏輯處理實現(xiàn)

網(wǎng)頁(aspx)與用戶控件(ascx)交互邏輯處理實現(xiàn):幾個頁面(ASPX)都使用一些相同的控件,一個文本框,二個按鈕(搜索和導出),為了以后好維護,把這相同的部分抽取放在一個用戶控件(ASCX)上?,F(xiàn)需要處理邏輯如下 搜索事件處理的邏輯在各個頁面處理。 問題是按鈕在用戶控件內(nèi),Click事件怎樣寫在各個頁面上?
推薦度:
導讀網(wǎng)頁(aspx)與用戶控件(ascx)交互邏輯處理實現(xiàn):幾個頁面(ASPX)都使用一些相同的控件,一個文本框,二個按鈕(搜索和導出),為了以后好維護,把這相同的部分抽取放在一個用戶控件(ASCX)上。現(xiàn)需要處理邏輯如下 搜索事件處理的邏輯在各個頁面處理。 問題是按鈕在用戶控件內(nèi),Click事件怎樣寫在各個頁面上?

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

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

用戶控件的導出默認是Enabled="false" ,當有搜索結(jié)果時,它才會變?yōu)閠rue。 它怎樣知道各個頁面是否已經(jīng)有了結(jié)果?

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

下面是ascx:
代碼如下:


<%@ Control Language="C#" AutoEventWireup="true" CodeFile="SearchForm.ascx.cs" Inherits="System_Assets_Report_SearchForm" %>
<div style="margin: 3px;">
資產(chǎn)編號 <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事件在各個頁面執(zhí)行,Insus.NET在用戶控件使用委托(delegate):
代碼如下:

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

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

public void EnabledExportButton(bool enabled)
{
this.ButtonExport.Enabled = enabled;
}

還有就是為了把用戶控件的文本框的值帶結(jié)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.cs代碼示例:

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

網(wǎng)頁(aspx)與用戶控件(ascx)交互邏輯處理實現(xiàn)

網(wǎng)頁(aspx)與用戶控件(ascx)交互邏輯處理實現(xiàn):幾個頁面(ASPX)都使用一些相同的控件,一個文本框,二個按鈕(搜索和導出),為了以后好維護,把這相同的部分抽取放在一個用戶控件(ASCX)上?,F(xiàn)需要處理邏輯如下 搜索事件處理的邏輯在各個頁面處理。 問題是按鈕在用戶控件內(nèi),Click事件怎樣寫在各個頁面上?
推薦度:
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top