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?
I'm creating a simple CMS for a fairly simple web page. I'm currently working on a part for displaying news on the main page.
The controls I have on the page:
- a GridView control with enabled pagging and a SELECT button, - an Image control for displaying news cover picture, - CKeditor control for editing news text, - Repeater control for displaying pictures from database
How does it all work?
In Page_load I have the following:
vb.net Code: connectionString = "Data Source=KORISNIK-PCSQLEXPRESS;Initial Catalog=****; User ID=**;Password=****" conn = New SqlConnection(connectionString) If conn.State = ConnectionState.Closed Or conn.State = ConnectionState.Broken Then Try conn.Open() If Not IsPostBack Then bindGrid()
[Code] ...
As you can see, I load the GridView control with news from DB. At this moment all other control are disabled. User has to SELECT the row he wants to edit, and click the MODIFY button.
This is what happens when user clicks the MODIFY button:
vb.net Code: Private Function selectForEdit() dsSelectForEdit = New DataSet captionPicture.ImageUrl = "" enableCommands() Dim sqlQuery As String sqlQuery = "SELECT news.newsCaption, news.newsIntro, news.newsCoverPicture, news.newsStatus,
[Code] ....
Basically, I select newsDetails based on newsID. Also, this is where I take the coverPicture from the database using a generic handler.
This is the code for showImage.ashx:
vb.net Code: Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest Dim newsID As Int32 If Not context.Request.QueryString("newsID") Is Nothing Then newsID = Convert.ToInt32(context.Request.QueryString("newsID")) Else Throw New ArgumentException("No parameter specified") End If
[Code] ....
This part works fine, as the picture is correctly displayed in the Image control. Now, I also want to load the pictures that are related to the selected news. So, I use this function:
vb.net Code: Private Function selectNewsPictures() dsSelectPicturesForEdit = New DataSet enableCommands() Dim sqlQuery As String sqlQuery = "SELECT newsDetailsPictureID,newsDetailsPicture,newsDetailsPictureCaption,newsDetailsPictureDescription FROM newsDetailsPictures WHERE newsID = @newsIDEditing" myCommand = New SqlCommand(sqlQuery, conn) myCommand.Parameters.Add("@newsIDEditing", SqlDbType.Int, 250)
[Code] ....
You can see that I take pictureID's and store them into a List (of integer). That way I can use those integers in showNewsPictures.ashx to display all the pictures.
showNewsPictures.ashx:
vb.net Code: Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest Dim newsID As Int32 If Not context.Request.QueryString("pictureID") Is Nothing Then newsID = Convert.ToInt32(context.Request.QueryString("pictureID")) Else Throw New ArgumentException("No parameter specified") End If
[Code] ....
The picture ID's are being sent through pictureRepeater_ItemDataBound:
vb.net Code: Private Sub pictureRepeater_ItemDataBound(sender As Object, e As RepeaterItemEventArgs) Handles pictureRepeater.ItemDataBound If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then Dim ctrl As New Image ctrl = e.Item.FindControl("pictureHolder") ctrl.Width = 100 ctrl.Height = 100 ctrl.ImageUrl = "~/showNewsPictures.ashx?pictureID=" & listOfIDs.Item(itemIndex) itemIndex = itemIndex + 1 End If End Sub
THE PROBLEM:
I load the page, select the news, click the MODIFY button and all works well. The news details are loaded, the cover picture is loaded, the repeater pictures are loaded.
I click the cancel button (clears all the commands and disables them) and I get an error saying the DataReader needs to be closed.And I never use one This happens either in showNewsPictures.ashx or showImage.ashx.
In some other scenario, this happens right after I click the MODIFY button.
Edit: I have a working solution already - I would just like to know why my original attempt didn't work. My original attempt is the code below.
I'm using the approach I found here:[URL] 306154 to implement a nested Repeater. Each parent item has one or more children items (the point of having the nested Repeater) with a dropdown horizontally aligned to each child item. In an effort to re-use the nested part of the Repeater I wanted to develop that piece as a user control but couldn't get it to work. I am wondering if it is even possible and if so how?
And here is my code behind for the user control. I noticed when I debugged NestedDataSource was null even though in the parent page load the data is there:
The page loads but nothing relating to the repeater appears on the screen. So, can you see anything wrong with what I have? Is the way I tried doing this even possible?
I am using a repeater control and i want to use one more repeater control inside the existing repeater control .
Like this:
<asp:Repeater ID="Repeater1" runat="server"> <HeaderTemplate> </HeaderTemplate> <ItemTemplate> <!-- start child repeater --> Here I want to use one repater control <!-- end child repeater --> </ItemTemplate> </asp:Repeater>
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. .
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
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.
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.
i have a page it contains a User Control. in it we have a Button "View Tree" it will open a pop up window (contins a tree view).when we select any node in the tree the Corresponding item will be Loaded in the User Control and Close the Popup.i want to achive this With out re loading the total page. i am using VS 2008.
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 was wondering if there's a way in Umbraco to log errors that we get when it fails to load xslt or user-controls. Generally it shows a red box saying it couldn't load the control and stuff. Is there a way to properly log this?
I have a simple user control that I have placed inside a repeater. I want to access it through the ItemDataBound event of the repeater. Here's my code so far:
[Code]....
Not so sure what to do about all of this. I have developed a simple calendar using an XML doc and a repeater. The parent repeater contains a child repeater that lists events based on the date. I have a User Control that has some unique capablities for control the date in a link button. I want the user to click on the User Control and be able to use the information to do something. Bottom line, I want to access the linkbutton inside the repeater.
I have a user control that contains a repeater. We have added some paging and sorting into the user control and it all works well.
What I need now is a nice way to catch the OnItemDataBound event of the inner repeater and then bubble it up to be accessible directly from the user control from within the page.
We have tried catching it and then declaring it in the user control but it just won't work.
I am using Linkbutton inside the Repeater Control to display the paging ........and m calling Page change event on client click ....m attaching u code that m using it work fine in some webform but somewhere it didn't go the page change method on clicking page no. .....
I am using .net 3.5 framework and i am using repeater control in my application.I am using link button to display the records.Displaying 9 records in a page.Show all button is there.When i click on show all button(Result of 250 records) then the page is loading and hanging for some time anf then it is displaying the all records.I know the time taken between the server and the browser.But i need to avoid the hanging of the page and the loading time should be reduced.How to solve this issue.If the page contains 9 products then it is loaded quickly.But if it contains lot of images then it's hanged. some of my friends told to use the jquery but i have noo idea regarding jquery so can anyone give an solution for this.Till it's breaking my head.
I have 2 tables A and B that have a many to many relationship. I am using nested repeaters to show the data in a web page. My issue is, how do I write an ObjectQuery or an IQueryable query that returns the parent rows in A and the child rows in B so that I can use them as my data sources for my inner and out repeater. I have the code I wrote so far below but I am not sure if it is correct or even close.
I have written a user control that captures some user input and has a Save button to save it to the DB. I use a repeater to render a number of these controls on the page - imagine a list of multiple choice questions with a Save button by each question.
I am loading the user control inside the repeater's ItemDataBound event like this (code simplified):
[code]....
The problem is that when the Save button is clicked, the page posts back, but lbnUpdate_Click is not called. The Page_Load event of the page itself is called however.
I should mention that the repeater is part of a user control, and that user control is loaded inside another user control (this is a DotNetNuke site which makes heavy use of user controls). The Save button link looks like this: