Web Forms :: Using Asynchronous Calls With Dropdownlist Control?
Jan 7, 2011
I am currently developing a project management application using ASP.NET (VB). I am nearly done with it. But whenever users select an item from drop-down list control, a post back is triggered and screen is returned to the bagining. This is very irritating at times.
So, I want to know how can I make partial postbacks so that page is not refreshed again and appropriate binding of list control with my oracle database is also made.
I am currently developing a project management application using ASP.NET (VB). I am nearly done with it. But whenever users select an item from drop-down list control, a post back is triggered and screen is returned to the bagining. This is very irritating at times.
<p> So, I want to know how can I make partial postbacks so that page is not refreshed again and appropriate binding of list control with my oracle database is also made.
i have the code for asynchronous call to the database. i execute the sql command into the begin method that will executed onto the separate thread. now i want to execute the another database call asynchronously so that this also execute onto the separate thread. code for one database cal is here....
I am relatively new to asp.net. In My asp.net website, i have a method GetData(int id) which is called Repetitively, depending on id count, GetData is desinged to get data from sharepoint and sql server both. if the Id count is high say =10, my page load time increases because GetData is called 10 times and the page load time keeps adding up. so I want to ask, is there any way that this GetData() be called asynchornously or by the use of some thread, so that my page loads faster.
We have a custom Ajax checkbox control. In that control we set value (from inside the control) via a web service call (say WSCall1) to the business engine. There is also an event exposed on the OnClick of checkbox for the end user to have their custom code where the end user have their own web service call (say WSCall2). This event that end users will write is handled inside the ajax checkbox control on the "OnSuccess" of the internal web service call (i.e WSCall1) with an expectation that if WSCall1 succeeds, WSCall2 will get executed. This works fine with Firefox and Chrome but not in IE. In IE sometimes WSCall2 gets executed first and then WSCall1 -- actually there is no gurantee which web service gets called first. For WSCall1 we have used " Sys.Net.WebServiceProxy.invoke"
Is there a way we can make sure that WSCall2 gets only executed on the "OnSuccess" of WSCall1? Isn't the OnSuceess supposed to be executed when the WSCall1 thread returns?
I have been moving my application to be more AJAX-based. Currently I have a web service call where I use jQuery to gather some textbox (string) and checkbox (boolean) results and pass it to a web service. Everything works really well, the response time is super quick. The only downside that I can see to this is
1) you need to use jQuery, which will add to the user's download time - this doesn't really affect my application too much because I am using jQuery throughout the site
2) users can see the code and potentially try to hack the web service because they know where it is
I am most concerned with #2. I've been reading a lot about .NET web service calls, using IAsyncResult,
http://msdn.microsoft.com/en-us/library/2e08f6yc.aspx, and I am beginning to understand the 4 methods available in this article. However, is there extra bloat using this way compared to the jQuery web service call?If there isn't that much bloat or lag time using this method, I'd like to convert my application. Which one of these 4 methods is best in a scenario where I am just returning a small string value? The 4 methods in the article are to wait for EndInvoke itself, which from what I read is not recommended because this may block the first thread; and this should not be used on a service that affects the UI.Create a WaitHandle to wait for the 'OK' before EndInvoke is called Poll the IAsyncResult for .IsCompleted, using sleep() and a Do While until IAsyncResult.IsCompleted is true, then call EndInvoke Pass a delegate function to BeginInvoke to be called once the operation is complete.
I have a web app with a table of statistics on our salesmen's customers, and each row has a sparkline graph showing the general trend of the sales data for the last 12 months. Each page shows a particular salesman's customer list, and some of them can have an enormous number of customers = an enormous number of rows = an enormous number of sparklines (e.g. one in particular has 125 and takes 15 seconds to load).
For this reason, jQuery sparklines could not be used - they completely pinned the CPU of a user accessing a page with a lot of sparklines with IE.
So I moved on to using the Google Chart API, which worked much better, except for two issues: 1) it's on a secure site, and the Google Chart API URL is only served over HTTP (solved by using a small wrapper script to download the graph dynamically and re-serve it from our secure server); and 2) on a page with 125 sparklines, it was still very slow due to the number of requests (even when the 0-9 server prefixes are used to maximize the # of available connections).
So my next step beyond this was to try to make each of the "download/grab/re-serve image" method calls asynchronous - and it worked!
...but only on my dev box running in debug mode.
When I pushed it up to the live site, it was faster, but it left some of the images unloaded, which is of course unacceptable.
So here is what I was hoping some SO hotshot would know:
1) Why are my asynchronous method calls working while debugging, but not working on the live site?
2) Is there any easier way to get a large number of sparklines of some sort to load quickly on a secure server without making me want to tear my hair out?
2a.) Does anyone have any experience using the ASP.NET Chart Library? Is this something I should investigate?
2b.) A co-worker suggested I make my own sparkline routine using a 1x1 CSS background image and varying the height. The problems are a) it is completely un-extensible in case we want to make changes; b) it seems hacky as hell (leaves about a bajillion DIVs per sparkline in the markup); and c) I have no idea if it will be fast enough when there are 100-200 of them on one page - what are your thoughts on the feasibility of the 1x1 sprite approach?
any modal popup controls whereas I can interact with the controls, causing callbacks and asynchronous calls without losing the popup.
I tried with the modalpopupextender, but the popup will disappear with the call and re-rendering the popup like many people will cause massive flashes of the popup which i want to try and avoid.
I have payment form with a clients dropdownlist that is populated from a database on form load with:
value field = clientIdtext field = nameId <asp:DropDownList ID="selClients" runat="server"> </asp:DropDownList>
When user makes a payment, it's necessary to chose a client from selClients, and so i get the clientsId value and build my insert SQL query.
Until here, no problems.
The problem with my UI has started since i had a lot of clients been registered: My dropdownlist became huge and it's taking too much time to load it's contents on page load. Also the dropdownlist area is taking a large area from page screen.
So i tryied a solution with jquery autocomplete plug in. I put a textbox with autocomplete for client name and another hiddenfield to receive the clientId when user select a item.
That solves both problems:
No more large amout of data loaded on page loadThe dropdownlist doesn't take a large area from page screen But it gave me another problem!
With a textbox, there is a possibility for wrong input client name. So if i don't have a valid clientId in hiddenfield, it will generate a database INSERT exception because it doesn't respect the client table constraint:
payment table REFERS client table
I'm trying to find kind of dropdownlist where the user can type text with autocomplete. Like this, the user will be able to select only data within the possibilities of the dropdownlist and i always will have a valid clientId.
Well I have a strange problem.I have a page with 2 DropDownLists on it and a custom web-user-control. The custom web user control has an UpdatePanel within it, and an Ajax Timer control within the UpdatePanel to periodically update a listing of stuff.When I "drop-down" one of the DropDownLists and hover over (not click on) an option while the Timer control within the UpdatePanel asynchronously posts back to the server, the DropDownList "autopostbacks" to the server!
I'm trying to figure out why an asynchronous postback would cause the DropDownList to act as if I selected/clicked on an option so that I can find a way around this issue.Now it's really simple to reproduce this problem. Create a Web User control called "TimerUpdatedListing"...this is the ASPX code markup for the web user control:
The page in which this Page_Load resides is called by a parent page. Each time this Page_Load gets called the value of "file" in the query string will be different. So each time I will be receiving the XML contents from a different file which are inserted into the XmlDataSource and then bound against by the Repeater. Getting the XML data from the file works great but when I bind against the repeater that only works the first time through Page_Load. Each time after that when this code is executed the same results from the first XML file are displayed in the repeater.
What am I missing here. How can I get the XML data to be bound against the repeater on each page load instead of just the first one?
I have a webservice (ASP.NET) deployed on a webfarm. A client application consumes it on daily basis. The problem is that some of its calls are duplicated (with difference of milliseconds). For example I have a function Foo(string a,string b). The client app calls this webmethod as Foo('test1','test2') once but my log shows that it is being called twice or sometimes 3 or 4 times randomly. Is this anything wrong with the webfarm or the code? Note that the webmethod has simple straighfarward insert and update statements.
I have textbox in which pincode has to be entered and it checks with database and gets city and state from database and fills data in other 2 textbox.I have kept asynchronous postback trigger on textbox textchanged event. After reterving data from database i set focus on other textbox of STDCode.But the problem with ie7,ie8 browser is that the focus comes on control but i can't write anything in stdcode textbox untill i move to another textbox. When i come back from another textbox i can write in stdcode textbox.Problem gets occured only in IE7,Ie8 browsers only.Here is design file of that page.
Hint: this one might sound complicated, because I am trying to give as much info as possible, but I suspect that I just want someone to tell me "yes, you are correct".
On this legacy system, which dates from 2002, the user visits a web page and uses an RFID reader to read a tag number, which is then written to an input field on the web page.
The only s/w that comes with the reader is a custom DLL, nop .exe.
The very sparse documentation insists that only MSIE be used and that all security relating to ActiveX be disabled.
When I look into the source of the web page I see calls to functions in the DLL.
Now, here's the fun part: I know zilch about ActiveX, I have to make a minor change to the DLL _but_ the VB6 source code has been lost, so I guess that I have to recreate the (seemingly very simple) DLL from scratch - this week.
Decompiling the DLL shows me the functions (locateReader, getTagVal, closeReader). However, by decompiling I can't really know the number or type of the parameters, nor the return values ... and if anyone knows the API they are refusing to share it, but basically it all seems to have been lost in the mists of time as companies went bust, were bought & sold, merged & demerged and the initial DLL might have been written by an external guy, but no one knows who.
So, can I get the function params & type from the ASP page source?
I see things like
Reader = new ActiveXObject("<dllName>.Reader"); Reader.locateReader(); tagVal = Reader.getTagVal(); Reader.closeReader();
So, I would say that none of the fn()s take parameters, that closeReader doesn't have to return anything; it looks like locateReader doesn't return anything either, so I guess that error handling will have to be in the DLL (loop forever with a popup demanding that a reader be attached; and getTagVal seems to return a string.
Does that sound about right? Any other comments (other than lessons to be learned)?
I am successful in using the AutoCompleteExtender control by make use of web serivces as the data source (ServiceMethod) to the extender control. My question is do we have any way in assining a code behind method as data source to this control.
removing the ServicePath url and assiging code behind method to ServiceMethod attribute will resolve the issue.
I am using Asynchronous File uploader ajax toolkit control.I want to get knowledge of whether page is posted back due to File uploader or not in Page_Load event of my aspx page.
For that i tried to use Page properties IsAsync, IsCallBack but even page is posted back on responce of File Upload these properties are false,only IsPostback property is True.
Why IsAsync and IsCallBack properties are false ?
I was thinking that since this control upload files Asyncronously, so atleast on File Upload IsAsync property should be True.But that is also false .
I had use a combox to let user select staff name and then it will automatically retrive the responsible recommending officer and approving officer to display in other 2 dropdownlist.
my code works fine but when user select staff name each time, the page will reload once to refresh the dropdownlist.
user complaint and don't want the page reload every time, how can i disable the postback? I need to use ajax?
I just like to know how can i create my own authentication(calling the ASP .net membership, role) page with the same function as the LOGIN Control. Your wondering, why not use the Login control instead. I have my own design and i don't know how to pattern my design to the built in Login Control. I tried editing the login template, but it's pretty hard to pattern it to my design.
This is my design
Basically what would like to know how the Login Control calls for the authentication, and when authenticated, it will pass the user(full name) to my LoginView Control without any coding. Or is it possible that I remove default login button in the LOGIN Control then create my own button and trigger the authentication or validation? But if you have other suggestion that can follow my design and call the authentication, i would be happy to know.
I'm building this small control. It should detect client resolution and set height and width values within two separated HtmlInputHidden controls. But tester property is not getting values froms this control.
[ToolboxData("<{0}:UIControlResolution runat=server></{0}:UIControlResolution>")] public class UIControlResolution : Control { HtmlInputHidden _txtwidth = new HtmlInputHidden(); HtmlInputHidden _txtheight = new HtmlInputHidden();
I've got a dropdownlist control that the user can select an an employee name and that should then fill in the detailsview control with specific information about that employee.
My dropdownlist control works fine and I do have AutoPostBack set to true. For some reason my detailsview doesn't work. There's no error message. The detailsview control just doesn't show up.
Here's my code:
This is the sqldatasource control for the dropdownlist control:
[Code]....
This is the sqldatasource control for the detailsview control:
I've put a DropDownList control within a LoginView control. I've got 2 SqlDataSource controls outside of the LoginView control, with the intent of databinding the items that comprise the ListItems of the DropDownList control, and another one for the data is stored in another table which has what was previously saved for the selection. However, when I've assign the SqlDataSource control to the DropDownList control's DataSourceID for the lookup table, I'm used to seeing the fields from the SqlDataSource control appearing in the DataTextField and DataValueField properties. However, they're not appearing there at all. Moreover, even when I try to type them in, its as if VS 2010 refuses to allow them.
I use for 5-Layer architecture and asynchronous Pages in my application(Presentation Layer,Caching Layer,Businnes Logic Layer,Transaction Layer,Data Access Layer) .I want to cancel Asynchronous Method if data was in cache.
I have 3 user controls that I have to load at the same time. They each contain a gridview that pulls data from the database. They are doing a "delay" load of the data so there is a progress bar template that shows that the data is loading however the first gridview fires and loads, then the second, then the third and I need them to all fire at the same time.