ASP controls "shifting" in C# web app - c#

I am working on a 2.0 framework C# web application. Recently it was brought to my attention that when an event occurs (button submits in particular) on the page and then the other ASP controls are moused over (textboxes, radio buttons, regular buttons) they appear to shift down, all the while you can see the control in its original position underneath (This gives the effect of having duplicate controls, one overlapping the other). When the page is refreshed the issue goes away until another event takes place.
To give some background, the users only experience this in IE. Of all the people I had test this, it only happens on a very small number of computers. One last thing to add is that I am incorporating JQuery rounded corners in the divs above the controls that seem to "break".
Has anyone seen this issue before, and if so, how was it fixed? A little bit of insight would be great.
Thanks in advance!

I'm guessing your jQuery code is cloning the HTML elements. If you turn off your jQuery to round the corners, does the problem still occur?

I haven't heard of this particular bug before, but it may be one that's fixed using the IE Zoom fix, which fixes bugs caused by IE6's strange float model.

Related

Rendering slowly after hiding a control

I'm encountering a new phenomenon (I've never seen it before), after hiding a control and switching tab it moves super slow and some times I can even see the hole the hidden control left on the same spot in the different tab.
and even pop up a file dialog take a very long time after the operation.
(I've seen similar question not exact and none of the solutions seems to work in my case)
*) the controls I'm hiding are simply in a group-box container no data grid or such.
Any suggestions?
Thanks!

Why am I getting different behavior in my web app between Mouse.Click() and a hardware click in CodedUI?

I'm working on a CodedUI Automated Testing suite for a couple different applications.
For the second time now, I'm encountering explicit differences between using Mouse.Click() on a control and actually clicking the control with a mouse. The latest problem centers around an input button. As far as I can tell the button submits an ASP.NET form. The web apps all use Telerik, if that's relevant at all.
When I order a Mouse.Click() on the UI element, the form presents a loading circle and freezes.
I want to say that at one point this thing did work when I clicked in my test. The same issue applies to a software-sent Keyboard.SendKeys("{Enter}"). When I click with my physical mouse or use my actual keyboard, the form submits, does the graphical loading spin, and comes back in <5s with no issue.
For the sake of completeness, a snippet:
Mouse.Click(maintControls.UIMaintSearchButton);
maintControls.UIMaintResultsTable.WaitForControlReady();
int NumOrgSearchRows = maintControls.UIMaintResultsTable.RowCount;
Assert.IsTrue(NumOrgSearchRows > 3
, "blahblah Search Test Failed. Search results were not displayed");
This is where the test fails. Importantly, the result table is still found and can give a number of rows - the issue is that it's what the table looked like before clicking search rather than after. For instance if the search "Cat" returned 4 results, and I entered "dog" before clicking search (which normally returns 10 rows) NumOrgSearchRows would be 4.
What is the difference between these two? What am I doing wrong? Is there a way (even if it's more complicated) to do a "real" click over just calling one from the .NET library? I feel like there should be 0 difference between these and I'm baffled.
Any and all theories welcome. Thanks!

How would you create a page like WP's Mail app's Compose screen?

I'm new to WP dev (and pretty much C# and Silverlight in general) and I've been playing with Textboxes. I found pretty quickly that you can't really scroll a TextBox control.
I've seen some solutions to this on various blogs and StackOverflow posts, and the most popular one seems to be to embed the TextBox in a ScrollViewer, then use some code to make the current input line always visible, like this:
scrollViewer.ScrollToVerticalOffset(textBox.ActualHeight);
This works okay if you have a relatively small TextBox, but if you want to make one that takes up quite a bit of space, you run into problems where the keyboard covers up the bottom section, you can't scroll to the top unless you manually move the cursor up there, etc.
Now the Compose page of the Mail application seems to do this perfectly: a nice big space for text entry where the keyboard never blocks the input, you can freely scroll through the entire pane, it just works really. I've tried various combinations of scrollviewers and textboxes but I haven't had any success in matching its behavior.
Any help?
The default apps are not written in C# using controls accessible in SDK or on the net.
Replication of mail viewer and composer has been tried before rather un-successfully. (Based on similar posts of AppHub - old WP7 forum)

ASP.NET Menu control changing position after postback

I am currently testing a menu in ASP.NET I've recently made using asp:menu control.
The menu is just as I want it to be right now, but whenever there is a postback that updates the whole page, it moves a little downwards (only once, a second postback won't move it a little bit more).
It's not CSS - > I've removed all CSS from this menu)
It's not any property -> I've commented out everything related to customizing the menu
It's not any other element above it enlarging -> I've specially put it inside a table, in which the only content is the asp:menu control
It moves a lot downwards in IE6, a little in IE8, and it doesn't move at all in Firefox 4.
What could I do ? Are there any alternatives ? Is there any property I can use, or any outer element I could put it inside in order for it to stay still ?
And yes, every single machine this is going to run in is using Internet Explorer. The nightmare of any web developer.
---[update]-----
I've built a menu in a separate project, and the effect wasn't there! I've copied the exact same files into my project, and ran it, and the issue was there.
Could it be a difference in the asp.net version ?
Did you check using IE web developer toolbar to see what's the html looks like in that area before and after the postback? It seems more like a browser issue so the toolbar would give you details as what is coming in the gap or may be what's pushing it down.
If the app is in asp.net 4.0, look at the source code of the page after it renders the first time, and then after the postback. Make sure it renders as divs on both or tables on both.
I currently have a similar issue where my menu "spreads out" on the postback. Before the postback, it renders divs. After the postback, it renders tables.
There is specifically a property on the menu "RenderingMode" which is suppose to control this, but it is not working for me.
I had the same problem. My navigation menu sits in an UpdatePanel, and I changed the UpdateMode from Always to Conditional - problem solved. This was in my master page.

tooltip appearing behind the form/window! (C# / VS 2008)

For some strange reason, my toopltip in the VS 2008 C# winforms application shows up behind the form! It's very frustrating and I can't figure out what I should do. Anyone face this before? Ideas?
(PS - I'm doing a toolstip.show programmatically within the form)
There are a few things you might want to check:
Make sure the tooltip knows what its parent window is.
Make sure the window the tooltip belongs to is in the foreground (no, this isn't a requirement for displaying tooltips, it just helps debug.)
Try giving focus to the owner of the tooltip. If that fixes the problem, then there's probably an ownership problem with your tooltip.
Try bringing your page element to the front. (Right click on element, bring to front). Is this happening on all tool tips you have configured? And no, I have not seen this before
There is a similar (and known) problem with tooltips appearing behind the Windows task bar. The problem is sporadic and I have never seen a solution. If you're also seeing this behavior sporadically (and I suggest that you try this on different machines), then it may be related. Otherwise, if the problem is consistent across multiple machines, let's see your code, because you're probably doing something wrong.
I have a similar issue. I have a user control written as C++ WTL, being used in a C# .NET2 app. If the control is just on the form then the controls tooltips work fine, however if the user control is on a panel or in a group then the tooltip is behind. I've tried changing the WTL code to force the tip to the front, this works but causes issues with lost focus/selection in other controls.
This problem is almost always caused by the window being TopMost. Try using SetWindowPos to set your tooltip to HWND_TOPMOST. I haven't tried this though...
I've seen this issue happen in both Windows.Forms and Delphi (native windows) based applications, caused by the interaction of "stay on top" with the Windows API.
Essentially, marking a form as TopMost makes it stay on top of some windows, but not others - Window management has more than two distinct levels.
What I found is this: my applications would behave themselves when run normally, with tooltips showing on top. Problems would occur when switching to- and from- other applications - somehow the "TopMost" of the windoww would become "very-ultra-top-most" (non-technical term ;-) ) with the tooltips appearing behind the window.
Having described the problem, I'd like to offer you a solution - but I never did find a good one. Sigh.
Hope that the additional information will be enough for you to find the solution you need.
I have seen this happen on Windows XP, particularly on the taskbar.
Are you sure it's an issue with your application, rather than the OS?

Categories