AJAX :: Strange Behavior With GridView In A User Control?
Feb 6, 2010
I've got a user control that is displayed via a PopupControlExtender. The user control is a GridView that dynamically adds columns to the control to display the results of a SELECT statement. The PopupControlExtender correctly displays the control and the control displays the neccessary columns. However, when the control is first displayed, the column widths are ignored, despite that they are explicity set. If the control is displayed and then hidden, the column widths are acknowledged the next time the control is displayed.
I have strange behavior when changing from ItemTemplate to EditItemTemplate. both the ItemTemplate and EditItemTemplate contain the same textbox with multiline. Except the ItemTemplate got the ReadOnly parameter. When the row is getting in EditMode and I enter the textbox everything is disabled. I click on another column that contains a label instead of a multiline textbox and get back in the textbox I can do everything. When I enter in the same row another MultiLine textbox I cannot do anything until I click on a label and get back in that TextBox. When the textboxes are in normal mode I don't seem to be having this issues. What is changed between the MultiLine and SingleLine textbox? What kind of PostBack or something could cause this strange behavior?
I'm having a bit of an issue in my ASP.Net application moving focus from a textbox in one user control to a text box in the next user control on the page after postback. I've searched high and low over the last several days to find a solution but, for whatever reason, have been unable to do so.
I have a page that has user controls loaded dynamically to allow a user to enter data.The number and type of user controls loaded to the page is determined at run time based on a database query.It is possible than many controls of the same type can be loaded. Each user control has its own update panel. Within the update panel of each control is a regular asp panel. Inside of the regular panel there are at least 2 server controls (any other controls that may exist in the user control are not affected by this issue) - a text box and a button.The defaultbutton property of the regular panel is set to the ID of the button within the user control. The desired behavior is to allow the user to enter data into the textbox on one user control hit enter to save the data on that user control the application will set focus to the textbox of the next user control on the page after the data from the "current" user control has been saved. Other considerations;
The application uses master pages. We make extensive use of ajax and the ajaxtoolkit in the application. I am using Visual Studio 2010 and .Net 4 The issue - when first entering the page, one can enter data into the first textbox and press the enter key. Data from "current" user control is correctly saved and focus is correctly moved to the next user control on the page.
Data can be entered into the textbox of "new" user control and when the enter key is pressed, the data is correctly save. The focus appears to move correctly to the next user control on the page.Data cannot be entered into the textbox of the control. Pressing the enter key will not save the data (because none was entered) but the focus will move to the textbox of the next user control on the page.
Data can be entered into the textbox of the user control. When the enter key is pressed, the data is correctly saved and the focus appears to move correctly to the textbox of the next control on the pageBasically, steps 3 and 4 are repeated until the end of the user controls on the page, alternating between being able to enter data and not. Other items of note When one is able to enter data into the textbox of a user control, one can correctly tab through the textboxes of each user control until the end of the page When one is not able to enter data into the textbox of a user control, pressing the tab key will take the focus to the address bar of the browser.
I created a much simplified example of the scenario described above and was able to consistently reproduce the "bad" focus behavior. All of the ajax toolkit controls and code where stripped out of the sample to rule the toolkit out as a cause. The behavior still occurs without the toolkit.
I am including the code for default.aspx and WebUserControl1.ascx.
the javascript is working perfectly and changes the value of the textbox.the problem happens when i submit the form - what is extracteed by the model from the textbox is the string "on", and after the submit, it also changes the value of the textbox to "on".when i load the field with a value from the model, it goes ok, and does not change
I have a simple procedure which updates a table. The procedure works fine and I have tested it in Management Studio. However when I am calling that procedure from code, nothing is happening. cmd.ExecuteScalar returns null when it should return the ID.Has anyone faced anything similar? Any pointers as to how this can be resolved?
I have a page with 14 dropdown lists. In the first page load (ie. not isPostback) I set the selectedIndex of the dropdownlists individually but I find that they are all set to the value I use for the last dropdownlist set. Here is the code
comboFirstJudge1.SelectedIndex = 0 comboFirstJudge2.SelectedIndex = 0 <so on for all the dropdown lists until the last one> comboFirstJudge14.SelectedIndex = 4
The result is that all dropdown lists have SelectedIndex = 4. If I run the same code on a postback it works just fine (the first lists have SelectedIndex = 0 and the last one = 4).
I have a site that was sucesfully upgraded to Framework 3.5 on Vista with VS2008. Now however after installing VS2010 and upgraded to Win 7 wierd things are happenning and was wonderring if any of you have experienced this and how you've dealt with it.First thing I notice in my main page that the four user controls are not in alignment. They should appear side by side in a single row, however now they spread acros two rows with one on top and three on the bottom. Also my graphics and navigation is not where they supposed to be. Just for comparison, if run the existing solution on Win 2003 with VS2008, it works like it supposed to. All the formatting is handled in .css and that didn't change either.
I have an issue that seems to only happen on my production server. I show or hide table rows whenever the buttons are clicked. However, when I do a postback on the checkbox, all of the rows become visible and the textbox stays empty. It works correctly on my test server and local workstation, just not in production.
Here is the markup...
[Code]....
Here is the code behind...
[Code]....
Here are the unexpected results whenever I check the chkShow2 checkbox... I am guessing this is a configuration issue on the server.
Wasn't quite sure where to post this, seems like the issues could be any number of things, so I'm trying to keep it general... mods, feel free to relocate appropriately.
I am trying to build a page which will load various web user controls dynamically in response to menu selections made by the user, and then allow other interactions inside those controls (such as gridview manipulation and updates). The content page simply has a loginview, an ASP:Menu control, and an ASP:Placeholder. The placeholder is filled by the appropriate user control in response to the menu selection. Selecting a menu item causes a postback and the correct control is loaded as expected.
I realized that using dynamic loading with interactive controls would be a problem with respect to postbacks, so I added a ScriptManager to the content page and enclosed the gridview controls in the web user controls within UpdatePanels, thinking that all postbacks required by the GridView would be handled inside the UpdatePanel and not cause the parent page to refresh (which would then wipe out the dynamically loaded control). However, it does not seem to work this way. Instead, although the control containing the GridView loads correctly and displays data, when I attempt to page, edit, or select any item on the GridView, nothing happens on the first click. If I click on any item inside the control a second time, the entire page refreshes and the control and its contents disappear.
I have removed all the code inside the web user control and placed it directly into the content page to test, and everything functions correctly in that case. I think therefore that I must be missing something with how the user control is working, particularly with respect to the UpdatePanel. Is it just not possible to use an UpdatePanel to confine actions inside a user control that would otherwise cause the entire page to postback, or am I missing something somewhere?
I need to create a singleton that would hold lots of data for a spedesign patterns - Singleton behavior with multi-user requests in ASP.NETcific user. However, I am not unclear as to what the behavior of that singleton is in regard to multi-user app requests.
Here is the scenario:
On AppStart event I want to load common data for all users (from SQL) and store it as a collection somewhere within the ASP.NET storage mechanisms.
If I store that data in the cache, I would also have to create a static property in the Global.asax that would provide access to that the data from the cache.
This is not ideal because whenever an instance of any particular page, or generic handler, or what have you tries to query this data using Linq the property has to load the data from the cache... introducing latency. I need this data to be immediately available. (think of it as about 5K rows of data stored in collection of objects...)
I was thinking to use a singleton to get that data, and store it but I don't know how it would behave between requests (and postbacks), as well as application instances, in terms of its persistence.
On PostAuthenticate event I want to get user specific data from SQL in the form of a collection. If i store it as a singleton (in a similar manner as the common data) i am not clear as to:
How is the data persisted? What is the scope of that singleton (it should be for the duration of the user session). How can I ensure that the data is immediately available to whatever needs to consume it? What happens between post-backs to that singleton? If another user logs in would another instance of that singleton be created for that specific application instance?
I've inherited a web project from another company, and I'm having a weird issue with a phone number mask.
If the ClearMaskOnLostFocus is "true", I lose the mask in the edit field (this is a editing screen for an existing record). If set to false, the mask is present, but the leading digit is truncated, and will write back to the DB an incorrect number if submitted, with that leading "_".
True = 8885551212 False=(_88)-555-1212 The DB field a a varchar(20) -- don't ask me why. <asp:MaskedEditExtender ID="MaskedEditExtender3" runat="server" learMaskOnLostFocus="true" MaskType="Number" Enabled="True" Mask="(999) 999-9999" TargetControlID="Phone_Number"> </asp:MaskedEditExtender>
I'm recently back at work after a long layoff period, and my ASP is a little rusty.
I am using the MaskedEditExtender and MaskedEditValidator, but have experienced some strange behaviour. (See code example below). When entering a date into the textbox this is what I see:
1. The mask
2. Entering the date and time e.g. "19-01-1980 10:11:12"
3. When removing focus from the textbox the result is: "19-01-1980 19:01:19"
The six first digits of the date is copied as the time? If entering a day of the month larger than 23 and any given month, year and time (eg. 25-10-1980 12:12:12) the validation fails as the six first digits are copied to the time resulting in a time 25:10:19 which obviously is not valid.
I have downloaded the AJAX toolkit sample code and experience the exact same behaviour. When running the AJAX Toolkit samples from[URL] works fine!
Additinal info: Culture is danish (DateTime format is dd-MM-yyyy hh:mm:ss). Tried changing my systems culture to en-US but same behaviour.
when I try to change the Behavior component's id in $create() I receive an exception when running the web page with the component control on it:
Microsoft JScript runtime error: Sys.InvalidOperationException: The id property can't be set on this object.
how then to change the Behavior's id? I know it is impossible to change the id of a Sys.UI.Control component, but the web control I created has a Behavior client side API.
I am having a peculiar problem with the button when i click it i am getting script generated in source and i have some other button in my page even i have written code but now if i click them i am getting the script i dont know why
I am developing an ecommerce site that is utilizing PayPal's sandbox environment. I have a login control in the header section of a master page. Everything works as expected until I am redirected back to my site from PayPal. The login control doesn't work as expected. When I click on logout it doesn't change to login or it does change but the user still appears to authenticated.
"To put a node into selection mode, set the node's NavigateUrl property to an empty string."
"When a node is in selection mode, use the SelectAction property to specify which event or events are raised when a node is selected."
"Setting TreeNodeSelectAction value TreeNodeSelectAction.Select Raises the SelectedNodeChanged event when a node is selected."
Here is the problem and possibly a bug in the control:
When I set the TreeNode object PopulateOnDemand value to true and call the Collapse() function on that node.Then the TreeNodeExpanded event is raised in addition to the SelectedNodeChanged event.This is in complate contradiction to what is writen in the MSDN.According to the MSDN this sould happen only if TreeNodeSelectAction Property is set to TreeNodeSelectAction.SelectExpand value.
I'm using SliderExtender in content of a Master Page.
It has a JavaScript function that is called in both $(document).ready and Sys.WebForms.PageRequestManager.getInstance() .add_endRequest() .
When I initial the page, the function is not active, it says " $find('BehaviorID') " is null, while other JavaScript function (without behaviourID) works smoothly.
But when I do a postback on the page. The slider function turns to available.
It seems the page didn't generate properly, miss a slider tag with class = "...BehaviorID..."
I am facing a strange issue with my project ... when page is rendering my tabpanel/gridview is moving out of table area. To brief: I have declared a tabpanel inside table like
But still Iam facing the same issue. Gridview rendering is moving out of the table width. I tried changing the table width and Gridview width but no luck.
It's even not the problem with CSS design ... cause Gridview in other pages are working fine.
I basically have a web app where the user enters some form info in Page1. This info is submitted and a SQL database is updated. The user is directed to Page2.
Page 2 contains a summary of info submitted in Page1, a PRINT button, and two UpdatePanels. Each UpdatePanel contains a ListView where the user can add, edit and remove items. Once the user is happy with the page, they click PRINT. This takes them to a printer-friendly page with NO on-page navigation.
Once printed using the browser print button, the user clicks the browser back button. In this case it is always IE8 running the pages. When you return to Page2, the content of the ListViews in the UpdatePanels looks like the first step when Page2 was entered from Page1. All work done on Page2 from that intial point is not there. Click the browser refresh button and the entire page will load.
Why does this happen? When the user clicks the browser back button in the printer friendly page, I need the screen to show Page2 with all the info from just before the PRINT button was pressed.
I can provide code, but initially thought it would confuse/clutter the post.
I have two Main Tabs and in a TabContainer.I have 5 Second Level Tab Panels under Main Tabs.Two MainTabs work as mode: find and work:The default is Find Mode with First Tab visible.the user selects some field and the result is displayed in the same Panel in a GridView.When the user views the result it is displayed in the second TabPanel of the Second Level Tab which is then set to visible while other 3 tabs are still invisible.I want to go back to the Find mode and have it in the orignal state.Same thing with the Main Tabs: When I am in work mode: the other 3 tabs are visible and the previous two Tabs are invisible.When I want to go back to Find Mode. I want to retain the what the user had selected in the 2nd level Tabs before moving to the Work panel.
I have a 'MaskedEditExtender' textbox for phone number on my application. On IE, when someone clicks somewhere in the middle of the textbox using the mouse, on the first click the cursor is actually placed at the first digit of the number. On the next click positions it is at the mouse position. However, on other browsers like Chrome, Firefox, etc.. on the first click of the mouse, the cursor position is at the mouse position (not at the first digit of the number). There does not seem to be any special code written to specify this behaviour. Is there a default behaviour for 'MaskedEditExtender' on IE which results in this?