搜索事件處理的邏輯在各個(gè)頁(yè)面處理。 問(wèn)題是按鈕在用戶控件內(nèi),Click事件怎樣寫(xiě)在各個(gè)頁(yè)面上?
每個(gè)頁(yè)面的搜索結(jié)果不同的格式,因此把結(jié)果顯示于各自的頁(yè)面上。
用戶控件的導(dǎo)出默認(rèn)是Enabled="false" ,當(dāng)有搜索結(jié)果時(shí),它才會(huì)變?yōu)閠rue。 它怎樣知道各個(gè)頁(yè)面是否已經(jīng)有了結(jié)果?
用戶控件的文本框的值,作為搜索條件,也就是每個(gè)頁(yè)面的執(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)編號(hào) <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="導(dǎo)出至Excel" OnClick="ButtonExport_Click" Enabled="false" />
</div>
為了解決搜索的Click事件在各個(gè)頁(yè)面執(zhí)行,Insus.NET在用戶控件使用委托(delegate):
代碼如下:
public delegate void SearchEventHandler(object sender, EventArgs e);
public delegate void ExportEventHandler(object sender, EventArgs e);
另外為了搜索結(jié)果是否有記錄,對(duì)應(yīng)導(dǎo)出銨鈕是否禁用與啟用,因此在用戶控件寫(xiě)一個(gè)帶參的方法:
代碼如下:
public void EnabledExportButton(bool enabled)
{
this.ButtonExport.Enabled = enabled;
}
還有就是為了把用戶控件的文本框的值帶結(jié)aspx.cs頁(yè)面,還需要寫(xiě)一個(gè)修飾符為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);
}
}
各個(gè)aspx頁(yè),下面只列示一頁(yè):![]()
.aspx.cs代碼示例:![]()
聲明:本網(wǎng)頁(yè)內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問(wèn)題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com