2

I currently work inside a system that any new tools get created as an ASP.NET custom server-side control, rather than a Forms or MVC page. One of my most recent projects is to convert a Forms page into a control (basically moving from an old site to the current one), and as far as I can see, this requires very few changes. Most of the changes that make this "work" are in the header section (Change Page tag to Control tag, make a few tweaks behind the scenes, etc).

However, despite most of the pages I've converted into controls working perfectly, this one control does not want to refresh properly. It is supposed to refresh to show processing and completion when a button is hit, but it only updates properly about half the time. I've tried adjusting the UpdatePanel, the content template, and the relevant controls inside, but it keeps wanting to act flaky.

Ultimately, my question is, what is the difference between a full page and a control that would cause this shift in behavior, when I try to keep it as close to the (properly working) original, and the few minor tweaks I can see possibly helping, actually have no effect?

1

This question is hard to answer without any insight into what happens in the code itself, but I'll give it a go.

Check out this link: ASP.NET Page Life Cycle Overview

It explains which code is executed when in the Page Life Cycle. What could very well happen in your code is that the page on which your control sits, influences the behavior of that control in it's code.

If you want to rule this out, what you could do is inspect your network traffic, to see what calls are being made. Compare calls that cause updates, with calls that do not cause updates. A tool like Fiddler can help out a lot, because it allows you to inspect the View State. If you see differences here, then they should point you to why updates are not always happening. If not, you should debug all code that gets hit whenever an update should occur, but doesn't.

Again, hard to say what is going on exactly without any code, but I hope this helps you in the right direction.

  • I did not know about Fiddler, but I will be trying that out. While I do know about, and have studied the life cycle page, I'm feeling like there's something I'm missing. It may be in the system I'm using (Blackbaud NetCommunity), but it may also be that I'm not used to debugging web applications, or component level. – Tom A Sep 27 '16 at 16:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.