ASP.NET C# Custom Control with Postback.
-
So you just want to expose an event from your custom control?
public class CusParamTextBox : BaseParam
{
public event EventHandler ExposedUpdate;protected virtual void OnExposedUpdate(EventArgs e)
{
var handler = ExposedUpdate;
if (handler != null) handler(this, e);
}...
private void ParamTxtBox_TextChanged(object sender, EventArgs e)
{
...
OnExposedUpdate(e);
}
}...
var tmpctrlx = new CusParamTextBox();
tmpctrlx.ExposedUpdate += Update;...
protected void Update(object sender, EventArgs e)
{
var cuscontrol = (CusParamTextBox)sender;
DoSomethingOnPage(cuscontrol.name, cuscontrol.value);
upMain.Update();
}
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
Yes, I want to expose a event that I can hook too. So, I can tell it to fire in the local control... but pretty much do nothing locally... but then hook it to a page event that will do the heavy lifting.
=)
-
Yes, I want to expose a event that I can hook too. So, I can tell it to fire in the local control... but pretty much do nothing locally... but then hook it to a page event that will do the heavy lifting.
=)
So, pretty much exactly the example I posted then? :)
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
-
The site let me post twice during the process of writing a single post. There was no confirm, and when I hit a hotkey and my work posted instantly.. Then I clicked back and it let me edit the text I was working on and then when I clicked post again it created a new post and posted again instantly. Ultimately the problem is both user error on mypart and also software error on the forums part. I am new, so I did not realize what just happened.. and the software did not detect that I posted twice from the same exact page...... I quick guid check or confirm could of taken place to prevent me from double posting.. And I could of stopped it if I realized it. So, I apologize for my mistake, but I cant take all the credit!
=)
-
The site let me post twice during the process of writing a single post. There was no confirm, and when I hit a hotkey and my work posted instantly.. Then I clicked back and it let me edit the text I was working on and then when I clicked post again it created a new post and posted again instantly. Ultimately the problem is both user error on mypart and also software error on the forums part. I am new, so I did not realize what just happened.. and the software did not detect that I posted twice from the same exact page...... I quick guid check or confirm could of taken place to prevent me from double posting.. And I could of stopped it if I realized it. So, I apologize for my mistake, but I cant take all the credit!
=)
Member 4632726 wrote:
Then I clicked back and it let me edit the text I was working on and
If you had hit "Post Message" without editing, our system would have rejected the duplicate post. As it stands, you edited the text and hit send so our system thinks you simply posted a new, different message. When you posted the original message you would have seen, just under your message, links to edit or delete your message. We will be making changes that will make it even harder to repost accidentally.
cheers, Chris Maunder The Code Project | Co-founder Microsoft C++ MVP
-
So, pretty much exactly the example I posted then? :)
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
Yes, Thank you so much! That is working like a charm!
=)
-
So, pretty much exactly the example I posted then? :)
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
Ok, I do have a new problem now.. It seems when I put this code into my update panel... It continues to do a full post back all the time... Any idea how how to solve this any one ? Thanks!
=)
-
Ok, I do have a new problem now.. It seems when I put this code into my update panel... It continues to do a full post back all the time... Any idea how how to solve this any one ? Thanks!
=)
Have you added an AsyncPostBackTrigger[^] for the control?
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
-
Have you added an AsyncPostBackTrigger[^] for the control?
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
I did try something like that, but a little different because I am adding the controls dynamically to a existing update panel. I did try but with no luck..
CusParamTextBox tmpctrlx = new CusParamTextBox();
tmpctrlx.ExposedUpdate += new EventHandler(UpdateText);
ScriptManager1.RegisterAsyncPostBackControl(tmpctrlx);
CusParamControls.Controls.Add(tmpctrlx);and on the page that contains the dyn control
=)
-
I did try something like that, but a little different because I am adding the controls dynamically to a existing update panel. I did try but with no luck..
CusParamTextBox tmpctrlx = new CusParamTextBox();
tmpctrlx.ExposedUpdate += new EventHandler(UpdateText);
ScriptManager1.RegisterAsyncPostBackControl(tmpctrlx);
CusParamControls.Controls.Add(tmpctrlx);and on the page that contains the dyn control
=)
Sorry, I'm not overly familiar with the
UpdatePanel
. You might be better off posting this new issue in its own thread. NB: It would be better to post the question in the ASP.NET forum[^].
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
-
Sorry, I'm not overly familiar with the
UpdatePanel
. You might be better off posting this new issue in its own thread. NB: It would be better to post the question in the ASP.NET forum[^].
"These people looked deep within my soul and assigned me a number based on the order in which I joined." - Homer
Hi Rich, Its ok, I manged to figure it out.. I wanted to add the solution to the post too so other may do the same. Right after your add your control, and then your event via the init... If you want to put your control inside a update panel and stop a full page post back then you must register your control with the parent page and do it inside the actually control code itself... outside dont seem to work via the main page containing the control.
protected override void OnInit(EventArgs e)
{
base.OnInit(e);ScriptManager script = ScriptManager.GetCurrent(Page);
TxtParamValue = new TextBox();
TxtParamValue.TextChanged += new EventHandler(TxtParamValue_TextChanged);
if (script != null) { script.RegisterAsyncPostBackControl(TxtParamValue);}
base.Controls.Add(TxtParamValue);
}Thanks, and enjoy all!
=)