iSeller Commerce
iSeller POS Retail
iSeller POS F&B
iSeller POS Express
Crosslight
WebUI
ClientUI
What's New
Download Trial
Web Solution
Mobile Solution
Enterprise Solution
Custom Development
Blog
Community
Latest Development Blogs
ForumPostTopic
Browse By Tag
Our custom WebMenuBar control was working perfectly until we upgraded to v9. Now we get a hit-or-miss on the event handler.
Our OnClick event is handeled on the client-side first to make sure any menus that require confirmation first are processed and prompt the user, but once the code gets to posting back [via cmd.OnPostBackClick()] the server-side Page_Load is hit, but our MenuItemClicked assigned handler does not in many cases now.
This is rendering our menus useless so we need help getting this fixed ASAP please. Thank you.
[EDIT] Here's an example of the __EVENTTARGET and __EVENTARGUMENT on the post back. By the way, is the __EVENTTARGET correct, i.e., is it supposed to have the : rather than the $ as the delimiter?
Page.Request["__EVENTTARGET"] value isctl00:ctl00:WebPaneManager1:ViewLeftSide:Content:Menu:menuCompanies:MainMenuBar
Page.Request["__EVENTARGUMENT"] value isType='CommandClick':Name='cmdMenuFind_2_188':ItemNameHierarchy='cmdFindBasic_2_185;'
[EDIT] I wanted to add that our control is an ASCX control that hosts the menu bar, i.e.,
Note that the MenuItemSelected handler does NOT get hit on some post backs. We really need a fix for this fast. Our custom menu bar control derives from ISNet.WebUI.WebDesktop.WebMenuBar.
I've duplicated this problem using your live sample "Sample Source - WebMenu Client-side Events" code. So you should be able to do the same. The only change I made to the JScript code is this:
if (cmd.SelectedMenuItem == null) { SetStatus ("OnClick : " + cmd.Name); } else { SetStatus ("OnClick : " + cmd.Name + ", MenuItem : " + cmd.SelectedMenuItem.Name); cmd.OnPostBackClick(); // I added this line to force a post back on child items }
In the code behind, I added a handler for CommandClick.
WebMenuBar1.CommandClick += new ISNet.WebUI.WebDesktop.MenuCommandClickEventHandler(MenuItemSelected);
Note that I tried this with both code behind and ASPX markup and neither would work. I also added the handler which never gets hit on post back.
protected void MenuItemSelected(object sender, ISNet.WebUI.WebDesktop.MenuCommandClickEventArgs e) { }
I found out one more piece of info. It seems this problem crops up only when using the PlaceHolderManager. I was able to duplicate the problem with PlaceHolderManager but it works fine without it, i.e., stand-alone menu bar.
I also noticed, that in our case, we have a custom web control placed on our master page that does it's own event handling, i.e., implements RaisePostBackEvent from IPostBackEventHandler. When I remove this control, the menu handler is hit fine but when I restore this control, the problem crops up again.
I'm not sure what's going and why the event in one control seems to affect the WebMenuBar's assigned CommandClick handler, but I can duplicate this consistently.
I've seen no feedback on this issue. Is anyone looking at this? Have you duplicated the problem? Note that this problem doesn't exist if the custom control derives from UserControl. But if you derive from WebControl and do your own event handling, it then interferes with MenuCommandClickEventHandler for whatever reason.
I got around this problem by changing our custom control to a UserControl rather than a web control. But by doing that, it is no longer available in the Toolbox at design time.
Sorry for the late reply.
Using the attached sample, I have modified WebToolbar4 object to simulate the scenario you are using. In the sample, the attached onclick eventhandler will always be executed.
Our environment already using the latest WebDesktop 3 build and WebUI Framework 3.
Where did I mention WebToolBar? I believe I've clearly stated WebMenuBar.
Sorry for the mistake.
Using the sample in WebMenuBar and modifying it using the snippet you provided, the onclick server side event handler is constantly invoked. I am using the latest WebDesktop 3 and WebUIFramework 3.
Attached is the sample that I used to test your scenario.
The exmaple isn't anywhere close to my scenario. You attached a simple example that doesn't duplicate anything I've described above. Please read the thread and take note of the issues, in particular, where I mention adding a control dervied from WebControl that handles its own events as opposed to having that control derive from UserControl.
Please re-investigate and provide more accurate solution.
[Edited by Moderator: Removed unnecessary languages per the agreed SLA]
Based on the description in your post
It seems this problem crops up only when using the PlaceHolderManager. I was able to duplicate the problem with PlaceHolderManager but it works fine without it, i.e., stand-alone menu bar.
I have created a simple sample to replicate the scenario above, however the issue does not seem to occur in our environment with the scenario above. I also notice that you mention
Perhaps you could help us create the custom control you mention in the attached sample to let us create the scenario in our environment.
You have to look at the entire thread in context. Don't just take one snippet out of it. If that was the last entry, then yeah, it would make sense, but it's not.
I'm sure you're capable of creating a web control that handles events in about 10 minutes. All you have to do is create a control derived from WebControl and implement the IPostBackEventHandler interface.
[stop modifying the language of my posts. Nothing was said that was out of line. If you can't handle negative feedback, then close the forum. There's no personal attack just factual statements.]
Hello Yousif,
Unfortunately, you have to be bound according to our agreement in order to use the forum. I trust you have checked the "I have read the terms and agreement" during registration.
Here let me paste to you again the important points in a community forum.
I hope you can be cooperative by using positive and constructive language in polite manner.
Thank you very much for your understanding in this matter.
You have to look at the entire thread in context. Don't just take one snippet out of it. If that was the last entry, then yeah, it would make sense, but it's not.I'm sure you're capable of creating a web control that handles events in about 10 minutes. All you have to do is create a control derived from WebControl and implement the IPostBackEventHandler interface.
Hello again,
We'd love to help you resolving your problem as soon as possible. To make that happen, it'll be very helpful if you can provide us a reproducible sample based on your unique scenario, so that we can efficiently investigate your issue and provide a working solution at the soonest.
Looking forward to your sample. Thanks!
Of course I read this. That's why I said what I said regarding no personal attacks or anything like that. My statement is negative feedback towards the lack of helpful input from your end, so I don't understand why you would remove that.
You disrespect us, your customers, when you do not provide quality support and feedback and waste our time. You should really head your own signature of "Providing the most excellent technical support for Intersoft customers. Your satisfaction is our success." because so far that hasn't been the case from my perspective. And when I say "you" I mean InterSoft and not you personally.
You have to look at the entire thread in context. Don't just take one snippet out of it. If that was the last entry, then yeah, it would make sense, but it's not. I'm sure you're capable of creating a web control that handles events in about 10 minutes. All you have to do is create a control derived from WebControl and implement the IPostBackEventHandler interface.Hello again,We'd love to help you resolving your problem as soon as possible. To make that happen, it'll be very helpful if you can provide us a reproducible sample based on your unique scenario, so that we can efficiently investigate your issue and provide a working solution at the soonest.Looking forward to your sample. Thanks!
You have to look at the entire thread in context. Don't just take one snippet out of it. If that was the last entry, then yeah, it would make sense, but it's not. I'm sure you're capable of creating a web control that handles events in about 10 minutes. All you have to do is create a control derived from WebControl and implement the IPostBackEventHandler interface.
I'm sorry, why can't you create a simple page with a WebMenuBar and a custom WebControl control? I'm very busy with my own work and don't have time to constantly create samples that you can easily create yourselves.
Of course I read this. That's why I said what I said regarding no personal attacks or anything like that. My statement is negative feedback towards the lack of helpful input from your end, so I don't understand why you would remove that.You disrespect us, your customers, when you do not provide quality support and feedback and waste our time. You should really head your own signature of "Providing the most excellent technical support for Intersoft customers. Your satisfaction is our success." because so far that hasn't been the case from my perspective. And when I say "you" I mean InterSoft and not you personally.
I trust your statement doesn't base on fact. Simply put, let's see how superior our support has provided the excellence solution for you. Goto http://www.intersoftpt.com/Community/Users/PRISMAY/, notice you have posted around 20+ questions, and about 95% of them are answered. I trust you'll agree that 95% is very decent enough, compared to any other vendors.
Having that said, yes, our support is striving for the best satisfaction for all our customers. And your number of answered posts reflected it. Certainly, we'll thrive to get 100% of your posts answered.
Thanks again for pointing this out, and thus enabling the issue to be cleared professionaly.
I believe a basic working sample is not too much of asking, specifically this issue is very specific to a scenario and related to other custom controls that may beyond the scope of our support.
As in any other professional software companies, the support process should be obvious and clear, including a complete and detailed steps to reproduce, actual result, and expected result. In the case that steps to reproduce is hard to be explained, a working sample or a brief video would be very useful to help us identifying your issue. Obviously, we won't be asking for samples or videos for most issues that we can replicate without depending on other custom controls.
Thanks again for your patience in this matter.
Who made you the spokeperson for all of us?
If you were a little less condescending and arrogant, perhaps you could get your point accross and actually get the help you need.
You could also try to assert your apparent sense of superiority by writing your own components. This way, you can talk down to yourself as much as you desire when things do not work the way you demand them to.
You disrespect us, your customers, when you do not provide quality support and feedback and waste our time. You should really head your own signature of "Providing the most excellent technical support for Intersoft customers. Your satisfaction is our success." because so far that hasn't been the case from my perspective. And when I say "you" I mean InterSoft and not you personally. Who made you the spokeperson for all of us? If you were a little less condescending and arrogant, perhaps you could get your point accross and actually get the help you need. You could also try to assert your apparent sense of superiority by writing your own components. This way, you can talk down to yourself as much as you desire when things do not work the way you demand them to.
Completely agree with Jean.
If you can just be a little cooperative, you save both yours and Intersoft's guys time and efforts. And definitely you could get your answer/solution much faster rather than having to go through such unnecessary debate.
With regards of Intersoft support, I think they have done it profesionally based on how they respond to questions and issues. Also please keep in mind that Intersoft guys worked on several dozens of topics, not only yours. Please show your respect and be cooperative for your own good.
or
Choose this if you're already a member of Intersoft Community Forum. You can link your OpenID account to your existing Intersoft Social ID.
Choose this if you don't have an Intersoft account yet. Your authenticated OpenID will be automatically linked to your new Intersoft account.
Enter your Wordpress Blogname