(my last post was incomplete so this issue is being reposted)
I have an ASP.Net C# app with a Default.aspx page with an ascx user control
on the page named EditGrid.ascx given the ID myEG on the page.
I am trying to raise a custom event in this user control passing custom data
arguments. I have done this many times in VB but this is my first time in
C#.
In the default.aspx page I have the following code to subscribe to the event
along with an empty method to handle the event:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack){
myEG.RaiseCFEvent += new
EditGrid.ChangedFieldsEventHandler(this.HandleChan gedEvent); }
}
protected void HandleChangedEvent(object sender, ChangedFieldsEventArgs
e)
{
string myString = "debug";
}
The code below, in the ascx control, passes the proper arguments in the
this.OnRaiseCFEvent(myArgs); code but in the OnRaiseCFEvent method
RaiseCFEVent is always null so this.RaiseCFEvent(this,e); never executes.
Can anyone tell my why RaiseCFEvent is always null? As you can see there is
a subscriber
to the event.
thanks,
T
public partial class EditGrid : System.Web.UI.UserControl
{
public delegate void ChangedFieldsEventHandler(object sender,
ChangedFieldsEventArgs e);
public event ChangedFieldsEventHandler RaiseCFEvent;
protected virtual void OnRaiseCFEvent(ChangedFieldsEventArgs e)
{
if (this.RaiseCFEvent != null)
{
this.RaiseCFEvent(this,e);
}
}
..
..
..
ChangedFieldsEventArgs myArgs = new
ChangedFieldsEventArgs(gvRow.RowIndex, i, string1, string2);
this.OnRaiseCFEvent(myArgs);
..
..
..
}
public class ChangedFieldsEventArgs : EventArgs
{
public readonly int row, col;
public readonly string newVal, oldVal;
public ChangedFieldsEventArgs(int row, int col, string newVal, string
oldVal)
{
this.row = row;
this.col = col;
this.newVal = newVal;
this.oldVal = oldVal;
}
} 2 2158
Hi Tina,
the code looks neat except for the fact : event should be assigned in the
OnInit() not OnLoad().
Move
myEG.RaiseCFEvent += new
EditGrid.ChangedFieldsEventHandler(this.HandleChan gedEvent); }
in the default.aspx.cs to
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
myEG.RaiseCFEvent += new
ChangedFieldsEventHandler(this.HandleChangedEvent) ;
this.Load += new System.EventHandler(this.Page_Load);
}
Thanks,
Sazid.
"Tina" wrote:
(my last post was incomplete so this issue is being reposted)
I have an ASP.Net C# app with a Default.aspx page with an ascx user control
on the page named EditGrid.ascx given the ID myEG on the page.
I am trying to raise a custom event in this user control passing custom data
arguments. I have done this many times in VB but this is my first time in
C#.
In the default.aspx page I have the following code to subscribe to the event
along with an empty method to handle the event:
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack){
myEG.RaiseCFEvent += new
EditGrid.ChangedFieldsEventHandler(this.HandleChan gedEvent); }
}
protected void HandleChangedEvent(object sender, ChangedFieldsEventArgs
e)
{
string myString = "debug";
}
The code below, in the ascx control, passes the proper arguments in the
this.OnRaiseCFEvent(myArgs); code but in the OnRaiseCFEvent method
RaiseCFEVent is always null so this.RaiseCFEvent(this,e); never executes.
Can anyone tell my why RaiseCFEvent is always null? As you can see there is
a subscriber
to the event.
thanks,
T
public partial class EditGrid : System.Web.UI.UserControl
{
public delegate void ChangedFieldsEventHandler(object sender,
ChangedFieldsEventArgs e);
public event ChangedFieldsEventHandler RaiseCFEvent;
protected virtual void OnRaiseCFEvent(ChangedFieldsEventArgs e)
{
if (this.RaiseCFEvent != null)
{
this.RaiseCFEvent(this,e);
}
}
..
..
..
ChangedFieldsEventArgs myArgs = new
ChangedFieldsEventArgs(gvRow.RowIndex, i, string1, string2);
this.OnRaiseCFEvent(myArgs);
..
..
..
}
public class ChangedFieldsEventArgs : EventArgs
{
public readonly int row, col;
public readonly string newVal, oldVal;
public ChangedFieldsEventArgs(int row, int col, string newVal, string
oldVal)
{
this.row = row;
this.col = col;
this.newVal = newVal;
this.oldVal = oldVal;
}
}
oh, you know what, I had the subscription code after my postback test. I
just had to move it up above so I resubscribe
on each postback. And, your solution would have worked too.
Thanks for your help.
T
"Sazid Khan" <Sa*******@discussions.microsoft.comwrote in message
news:0A**********************************@microsof t.com...
>
Hi Tina,
the code looks neat except for the fact : event should be assigned in the
OnInit() not OnLoad().
Move
myEG.RaiseCFEvent += new
EditGrid.ChangedFieldsEventHandler(this.HandleChan gedEvent); }
in the default.aspx.cs to
override protected void OnInit(EventArgs e)
{
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
myEG.RaiseCFEvent += new
ChangedFieldsEventHandler(this.HandleChangedEvent) ;
this.Load += new System.EventHandler(this.Page_Load);
}
Thanks,
Sazid.
"Tina" wrote:
>(my last post was incomplete so this issue is being reposted)
I have an ASP.Net C# app with a Default.aspx page with an ascx user control on the page named EditGrid.ascx given the ID myEG on the page.
I am trying to raise a custom event in this user control passing custom data arguments. I have done this many times in VB but this is my first time in C#.
In the default.aspx page I have the following code to subscribe to the event along with an empty method to handle the event: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack){
myEG.RaiseCFEvent += new EditGrid.ChangedFieldsEventHandler(this.HandleCha ngedEvent); }
}
protected void HandleChangedEvent(object sender, ChangedFieldsEventArgs e) { string myString = "debug"; }
The code below, in the ascx control, passes the proper arguments in the this.OnRaiseCFEvent(myArgs); code but in the OnRaiseCFEvent method RaiseCFEVent is always null so this.RaiseCFEvent(this,e); never executes.
Can anyone tell my why RaiseCFEvent is always null? As you can see there is a subscriber to the event. thanks, T
public partial class EditGrid : System.Web.UI.UserControl { public delegate void ChangedFieldsEventHandler(object sender, ChangedFieldsEventArgs e); public event ChangedFieldsEventHandler RaiseCFEvent; protected virtual void OnRaiseCFEvent(ChangedFieldsEventArgs e) { if (this.RaiseCFEvent != null) { this.RaiseCFEvent(this,e); } } .. .. .. ChangedFieldsEventArgs myArgs = new ChangedFieldsEventArgs(gvRow.RowIndex, i, string1, string2); this.OnRaiseCFEvent(myArgs);
.. .. ..
}
public class ChangedFieldsEventArgs : EventArgs { public readonly int row, col; public readonly string newVal, oldVal; public ChangedFieldsEventArgs(int row, int col, string newVal, string oldVal) { this.row = row; this.col = col; this.newVal = newVal; this.oldVal = oldVal; } } This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Santhoshi |
last post by:
I have an event declared in class1
Now i want to raise the event in the my class2 or anywhere other than class1
Is it possible? If so how
Thank you
|
by: Dan |
last post by:
I've created a pocketpc app which has a startup form containing a listview.
The form creates an object which in turn creates a System.Threading.Timer.
It keeps track of the Timer state using a...
|
by: Steve B. |
last post by:
Is it good programming practice to call an event within an event?
I'm I creating recursion somehow somewhere? Does an event (e.g. send, e)
ever end?
I'm sorry, I'm not sure I know what I mean,...
|
by: rawCoder |
last post by:
Hi all,
How Can You Raise Events Asynchronously ?
Now for the details ...
I want to do inter modular communication using events in such a way that the
contributing modules need not...
|
by: Edward Diener |
last post by:
According to the CLS specification, the accessibility of the methods for
adding, removing, and raising an event must be identical. There appear to be
a few problems with this:
1) According to...
|
by: bclegg |
last post by:
Hi,
I am trying to use a 3rd Party telephony (Intel's CT-ADE 8.3) library in
a vb.net service.
The way it hangs up is to raise an Event.
If you build a windows Application you can write:
Sub...
|
by: Charles Law |
last post by:
Suppose a worker thread needs to signal to the main thread that an event has
occurred. Ordinarily, any event raised by the worker thread will be on its
own thread.
How can the worker thread...
|
by: sloan |
last post by:
I"m trying to figure out what concept I'm missing here, or if its not a good
idea .. or what.
Here is my example.. code is below.
I have an employee class.
It has an event that can be raised....
|
by: Phil Townsend |
last post by:
I have an application that needs to respond to events that occur outside
of the application itself. My project, called "ShowDetection" declares
the event. I have a console app called "TestEvent"...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Hystou |
last post by:
There are some requirements for setting up RAID:
1. The motherboard and BIOS support RAID configuration.
2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
|
by: jinu1996 |
last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
| |