1
我創建了一個新的Web用戶控件。這個控件有一個按鈕。這個按鈕的點擊事件中,我以這種方式引發事件:Asp.Net中的事件Webforms自定義UserControl
public partial class SearchDate : UserControl, IPostBackEventHandler
{
private static readonly object ObjEvent = new object();
// delegates
public delegate void VoidDelegate();
// events
[Category("Action")]
[Description("Azionato quando si preme il cancella nel filtro data")]
public event VoidDelegate CancelSearchDate
{
add
{
Events.AddHandler(ObjEvent, value);
}
remove
{
Events.RemoveHandler(ObjEvent, value);
}
}
protected virtual void OnCancelSearchDate()
{
var cancelEvent = (EventHandler) Events[ObjEvent];
if (cancelEvent != null)
{
cancelEvent(this, new EventArgs());
}
}
protected void BtnSearchDateCancelClick(object sender, EventArgs e)
{
OnCancelSearchDate();
}
protected void Page_Load(object sender, EventArgs e)
{
}
public void RaisePostBackEvent(string eventArgument)
{
OnCancelSearchDate();
}
}
我創建了一個委託,事件,提高它的按鈕的點擊。
在另一種網絡形式,在這種控制託管,我已經以這種方式增加了一個處理此事件:
protected void Page_Load(object sender, EventArgs e)
{
if (Page.IsPostBack)
return;
InitDateFilter(SearchDate);
}
protected void InitDateFilter(SearchDate searchDateControl)
{
searchDateControl.CancelSearchDate += SearchDateControlCancelSearchDate;
}
void SearchDateControlCancelSearchDate()
{
// other stuff
currUtente.FiltroData = null;
SaveSession();
}
當我點擊該按鈕,它試圖評估該事件,但它始終爲空。 我是新的asp.net webforms和它似乎很奇怪,它不能很好地工作。 我試圖以更簡單的方式提出事件(沒有事件定義中的'添加'和'刪除'),只是調用事件,如果它不是null,但行爲是相同的。
感謝
哇,太感謝你了,它工作得很好吧! –
很高興聽到這個從你。我並不總是使用網絡表格,但我的很多同事都這麼做......所以很容易幫助你:) – Kreker