AJAX :: Dynamic Loading Web User Control With Gridview Updatepanel?
Jan 8, 2010
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?
Psuedo-code for the issue below
Content page
[Code]....
Control
[Code]....
View 1 Replies
Similar Messages:
Jul 28, 2010
so I have this custom user control, just some data inside divs with a fancy css.
So inside my page I need to add it multiple times, and I do so in code behind within loop.
Now, this code doesn't work
[Code]....
and of course it works fine now. My questions would be - why? can I do it without pecifying file name and just creating control the normal way like in first example?:S
View 2 Replies
Jan 23, 2011
Situation: I have a drop down list which I need to pass on to a webservice on button click. I am using Sys.Net.WebServiceProxy.Invoke to make webservice call.
Everything is happening inside a usercontrol which loads on runtime using dynamicpopulate extender.
I get following error:
Sys.InvalidOperationException: Cannot serialize object with cyclic reference within child properties.
Situation: Usercontrol also has a listview which is bound to dataset. However on calling listview.DataBind() in side the webservice method.
I get following error:
The ListView control 'ProductsListView' does not have a naming container. Ensure that the control is added to the page before calling DataBind.
There is no problem when call to service method is parameter less and listitem is not bound.
View 5 Replies
Sep 14, 2010
I have a custom control created to autofill the box as typed in. Its working great. But if I put the control inside an Update Panel, it works for the full postback but if partial postback happens (because of the update panel), it does not work.
View 7 Replies
Dec 22, 2010
I'm new in developing and i'm in trouble with update a UpdatePanel inside a User Control from a Repeater inside another User Control.
View 3 Replies
Apr 19, 2010
I have a UserControl that is Added dynamicatlly into the page using UpdatePanel. That user control has an extender that does not work.
View 4 Replies
Jan 19, 2010
I have been playing around with loading user controls in a CMS style where I can change the position and order. I have come up with this...
[Code]....
It all works fairly well - but I have alot of propertys in my user control code behinds where I could inject values into the usercontrol from my base class.
I like the way I can position usercontrols from the DB, I even added a time and date section where they could be switched on and off per day or time.
If I make every user control access the DAL for the data, it means i will have one select per user control, which means including my bassclass I could have upto 15 selects (visits tot he DB) to make the front page. Though this does not seem to make a performance problem, I was wondering if there was a better way of doing this.
View 2 Replies
Mar 11, 2011
I've got a fileupload control inside of a gridview so that each row (item from the database) can have an attachment associated with it. I've got a button next to the fileupload control (besides the default browse... button to select the file) to actually take the file and upload it to a file server. This works great if I use this button "Upload". However, underneath my gridview I have another imagebutton that is outside of the gridview, its just sitting on the form / page. The idea of this "Update" button is when end users make changes to the grid I can simply loop through the grid and update the values they have entered to the database. This also works great.
Now here is my issue assume a user has 3 rows in the grid view. On 2 of these rows he decides to add an attachment but he never clicks the "Upload" button he only uses the standard browse button to select the file. Now instead of clicking the "Upload" button that is on the grid view he ends up clicking the "Update" button outside of the grid thinking that it will save his attachments. So I decided to write code to grab the fileupload control from the grid using .FindControls("NameOfFileUploadControl") in my Update button loop where I loop through all the rows. Then I check if myFileUploadControl.HasFile property to see if there exists a file and if there does upload the file then continue with the code.
The issue is when I click this "Update" button .HasFile always returns false even though I can see the text string of the path in the fileuploadcontrol textbox (the standard one next to the browse button). Is it because this goes back to the page load event and checks if it is a post back? What causes this and how can I fix it? Im adding some code because im still confused with this
Protected Sub SaveGrid()
For Each Row As GridViewRow In Me.gvLineItems.Rows
Dim f As FileUpload = CType(Row.FindControl("fuAttachment"), FileUpload)
'todo: this part is not working
If f.FileName.Length > 0 Then 'returns 0 always
'this returns 0.
end if
if f.HasFile() then
'this also returns false
end if
Next
End Sub
This method gets called on a click of a button. The fileupload control is in an of a gridview that is wrapped inside of an UpdatePanel:
<asp:FileUpload Width="90px" Font-Size="xx-small" ID="fuAttachment" runat="server" />
View 1 Replies
Jan 7, 2010
I am in need of some assistance in regards to how to best set the values of properties for a Web User Control which is being included into a cell of a GridView with dynamically created columns. I have tried a few different approaches, but can't seem to get a satisfactory result. Also, to be completely honest, I am not really sure if I am using best practices for what I am trying to accomplish.
First off a little background:I have a GridView for which we will never know the exact number of columns at run time. The columns are predicated by user selection. I am creating the command text for the DataSet on the fly and then looping through the columns of the resulting DataTable in order to use custom TemplateFields. This works ok for just printing out the row values but not so much for when I need to insert the Web User Control into a cell.The Web User Control is in essence a collection of image links which are used as a "Quick Nav" tool. I need to pass the values of 2 fields from each DataRow to the control via properties (for example, CustID and ProductID). I am using custom TemplateField classes inheriting from ITemplate for displaying my fields and extending the DataBinding event like so: [Code]....
This won't work for my User Control as DataBinding is called after the control is loaded into the page and I need the properties to be set before the Page_Load event of the control is fired.Is there a GridView event I should be looking into instead such as RowCreated or RowDataBound? Or should I modify how I loop through the DataTable by doing rows first, then the resulting columns as I've seen done elsewhere?
View 5 Replies
Aug 3, 2010
I read several posts about dynamically created controls in an UpdatePanel but none of them solved my problem because I can't put my code in the page_load.My dynamic control is a simple linkbutton called linkBTN, it is created in the updatePanel (UpdatePanel1) after clicking a button (Button1):when I click linkBTN and the nothing changed to the label1 text (label1 is in the same updatepanel),
[Code]....
View 1 Replies
Mar 11, 2010
I am currently using a asp.net 2.0 with visual studio 2005.
I am trying to build a web application using ajax.
but when I drag the ajax updatepanel on asp.net page it is not resizable,so how should i put other controls on it?
View 4 Replies
Jan 8, 2010
I have put my gridView inside an UpdatePanel with Timer control for auto refresh.The gridView has a linkButton column which is bounded to referenceNo column from database.
On click of this link button i want a panel to get visible. This Panel contains details corresponding to the referenceNo shown in differnt controls (mostly texboxes). Do i necessarily need to put the panel inside the Update Panel.If not how do i do it?
I have tried putting panel outside UpdatePanel, but it doesn't show panel on clicking the linkbutton nor does the values are updated inside this panel (if panel's visibility is set to true by default for testing purpose).
View 4 Replies
May 7, 2015
I have usercontrol (called A) and update panel in it
Following are the control in my updatepanel
1. gridview with link button
2. DIV outside the gridview to load the usercontrol (B) from c#
when i hit the link button of gridview i am loading my usercontrol(B) dynamically from code behind and adding it to the DIV which is working fine. I have button inside the the usercontrol (B) and if i hit the button it doesn't trigger the action.
Not sure why it doesn't trigger the click event. i googled and tried enabling ChildrenAsTriggers="true" though it didn't work.
Test.ascx :
<asp:UpdatePanel ID="upList" runat="server" ChildrenAsTriggers="true" >
<ContentTemplate>
<asp:GridView ID="gvList" AutoGenerateColumns="false" runat="server" Visible="true" Width="95%"
OnRowDataBound="gvList" DataKeyNames="Id" GridLines="None"
ShowFooter="false">
[Code] .....
On Template_Click event i am loading the user control from code behind and adding it to the div[divContainer]
I tried to investigate in deeper and found that the update panel causing the issue. If i use the below code[rfered one of your article] on the page load event then it works fine. the button triggers it's action. but when i click the button which is in gridview, it should not post back as it is in update panel, but it postback.
private void RegisterPostBackControl()
{
foreach (GridViewRow row in gvList.Rows)
{
LinkButton lnkFull = row.FindControl("Template") as LinkButton;
ScriptManager.GetCurrent(this.Page).RegisterPostBackControl(lnkFull);
[Code] .....
View 1 Replies
Jul 14, 2010
I've exempted the irrelevant bits of code. Essentially, I am trying to change the URL of an image control inside of an update panel inside of a custom user control from a function called inside an update panel from my main page. Using UpdatePanel.Update() isn't working: I end up waiting for the next full page POST to occur before all the updates I make to CustomControl from buttons within the main page's update panel are visible. I verified that Update() was being called via the debugger: there are no issues in that department.
Here, you can see Custom Control and the Button declared. The button is in an update panel to avoid giving a full POST and causing the whole page to reload.
<cust:CustomControl runat="server" ID="CustomControl1">
<asp:UpdatePanel runat="server" ID="UpdatePanel1"> <ContentTemplate>
<asp:Button id="Button1" runat="server" OnClick="DoStuff" />
</ContentTemplate> </asp:UpdatePanel>
This control stores images within their own seperate update panels because rerendering the images is very slow (it requires processing arrays of millions of datapoints) and the user only ever needs to modify one image at a time. I'm using Image1 as an example.
[Code]....
View 3 Replies
Nov 16, 2010
I'm customizing a NopCommerce store, and am using a gridview to display and sort the products. All that works well. I like how the external pager (user control) works with the gridview, with one exception -- it uses the hyperlink control, so I lost viewstate, which I need to retain for both the search page and to retain the gridview sort options. Based on the page selected (from the pager control), I query the database and rebind the gridview. So, I switched the user control to use LinkButtons instead of Hyperlinks. This is the sample code for one of the buttons:
[Code]....
I set a breakpoint inside the lbCommandClick method, but it never gets hit. Reading other posts tells me that I would have to add the dynamic controls in the OnLoad method, but since this all happens based on other data on the page (say search results), I don't think I can do it onLoad. However, the link buttons do work to cause a postback, and my viewstate is saved correctly. The only problem is that I do not know which button was clicked. I could check Request.Params["__EVENTTARGET"] onLoad, but that is kind of a hack -- I'd much rather be able to set the event handler in the user control and use the CommandArgument property. But, what I have tried so far fails.
Especially one that would allow me to set the EventHandler in the User Control? (e.g. OnlbCommand="PagerLBPageChange" )
View 3 Replies
Mar 7, 2011
I have a problem with my AsynchPostback trigger. It does a postback but won't do the Button click event.
[Code]....
View 2 Replies
Sep 7, 2010
I had been created some dynamic radio buttons in a loop inside a dinamy table which is inside an UpdatePanel , but i can not handle the events my code is below:
public void MetodoCreacion()
{
RadioButton RBtn = null;
Table table = new Table();
TableRow row = null;
TableCell cell = null;
for (int i = 0; i < 5; i++)
{
row = new TableRow();
cell = new TableCell();
RBtn = new RadioButton();
RBtn.ID = "RBGN_" + i.ToString();
RBtn.GroupName = "RBGN1";
RBtn.Text = "Opcion " + i.ToString();
RBtn.CheckedChanged += new EventHandler(RBtn_CheckedChanged);
RBtn.AutoPostBack = true;
cell.Controls.Add(RBtn);
row.Controls.Add(cell);
table.Controls.Add(row);
}
UpdatePanel1_UpdatePanelAnimationExtender.Controls .Add(table);
}
public void RBtn_CheckedChanged (object sender, EventArgs e)
{
Label1.Text = ((RadioButton)sender).ID;
}
and the controls doesent call the event.
View 2 Replies
Jun 3, 2010
i created a user control called userCon.asxc. may i know how do i do when i click on button1, then the userCon.asxc will load into panel1?
I checked on internet, but found only those loading the user control to page when execute. What i want is to load user control into panel1 when button1 is click. .
View 3 Replies
Mar 23, 2010
I have a Repeater control that loads instances of a custom control I have built. This repeater looks like this:
<asp:Repeater ID="myRepeater" runat="server" OnLoad="myRepeater_Load">
<HeaderTemplate>
<table border="0" cellpadding="0" cellspacing="0">
</HeaderTemplate>
<ItemTemplate>
<tr><td><my:CustomControl ID="myControl" runat="server"
OnLoad="myControl_Load" />
</td></tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
I bind to the Repeater through the myRepeater_Load event handler. My custom control is used to render an item within the Repeater. Because of this, I am trying to set properties on the custom control during the myControl_Load event handler. However, I do not know how to access the current item during the myControl_Load event.
Is there a way I can pass along the current item or access the current item during the myControl_Load event? If so, how?
View 3 Replies
Oct 7, 2010
I have two update panels and one javascript control.
When the javascript button is clicked, it forces a partial postback on UpdatePanel2. UpdatePanel2 is populated with dynamically created buttons that have javascript effects (jquery) but when click can also induce a postback. My problem is that, when clicking on these dynamic buttons, the whole page does not do a partial post back but rather UpdatePanel2 itself does a partial postback and everything is gone.
However, what I want to do is be able to tie each of the dynamic buttons in UpdatePanel2 (After being dynamically created) and make them an asychnonous triggers to UpdatePanel1. So that when clicking on these dynamic buttons, ONLY UpdatePanel1 is doing a partial postback refresh. UpdatePanel2 stays put and remains the same.
View 1 Replies
Jan 14, 2011
I have a page that has a updatepanel around a gridview control that is within my modalpopup. So you land on the page, there is a link that when clicked will open the model popup. Initially the gridview merely displayed saved records you personally choseto save, well when you selected one, the popup would close and the data from that row would be passed to the gridview within the page to display details.. no issue when it was setup that way.. well eventually it was decided to add a delete option within themodal popup gridview so now when viewing the records you can delete it if not needed. works well.. but now with the updatepanel surrounding the gridview when i click on my "select" link it doesnt execute my
View 3 Replies
Jan 19, 2011
i have a BaseMasterUserControl.ascx and i have create a another ChildUserControl1.ascx
and ChildUserControl2.ascx, both are inherit from a BaseMasterUserControl.ascx.
i have hosted the BaseMasterUserControl.ascx in an aspx page. At runtime i am deciding
which usercontrol should be load. so i am loading a specific usercontrol dynamically and
assigning it to baseusecontrol but content are not visual, is this possible?
Code:
[code]....
View 2 Replies
May 13, 2010
I'm using partial page loads off a webservice and was curious if there was a way to load a control through the .asmx file when the part loads. I tried:
Control CallDetailsControl =
this.LoadControl("~/mycontrol.ascx");
View 1 Replies
Jun 21, 2010
I have a usercontrol which has a combobox inside it.
This UserControl is the inside an asp panel - and when the panel is visible, the dropdownlist within the control binds to its datasource and behaves itself.
When the panel visibility is set to false, the dropdownlist within the usercontrol is empty.
View 1 Replies
Aug 23, 2010
I have an .aspx page with multiple .ascx (User Controls on it). One of the User controls is very slow in loading (calls a very slow webservice for the data.). Now, my question is how to render all the controls on the page (so the User can view those) and have a rotating icon for this control (slow one) (till it loads). I know, I need to bring AJAX into picture, but any clarification on that would help as I will be new to AJAX programming.
View 4 Replies