MVC :: MVC-3 -- How To Efficiently Connect Children To Parent In The View
Feb 13, 2011
I have a parent/child relationship that I'm currently pulling via the EF .include() method and displaying via two foreach loops in my view -- the first foreach loop is for the parents and the second is nested inside each parent and is for the children of that parent.
This has worked fine, but now I need to display information about each child that is not contained in my main child table. The table that contains this extra information only has a relationship to the main child table and thus there is no association between this table and the main parent table --- i.e. the .include() method can't pick this up. I've looked, found nothing and thus assume that I can't have two .include methods chained together. (even if I could, would this be efficient?)
I know I can perform a simple join and pull all of the child information with the parent records, but that would create issues with my paging because I want the page size determined by the number of parent records displayed. For some parents, there are only two children; other parents may have 10 children. So a simple join would create records where the parent information is duplicated and would throw off the paging.
Ideally I'd like to pull the parent information and pull the children information and connect the two when the view is populated, but I don't have a clue on how to do this efficiently (if that's even possible).
I have very strange Cascading Dropdownlist behavior. When I use one parent, one child - everything is fine, but one parent two children combination does not work well. Sometimes both children show right data; sometime first is fine and second is grey, or first is fine and second [Method error 500], or second is fine and first is wrong and so on.
Did somebody try to use parent two children combination?
I have two tables in SQL. The first defines the parent, and has a primary key column called ParentId. I also have a child table that has a primary key, and a foreign key as 'ParentId'. So the two tables form a one parent - to many children relationship.
The question is what is the most efficient way to pull the parent + child data C# code? The data has to be read into the following objects:
[Code]....
and use LINQ to merge all parents with children. This approach makes 2 trips to the db.
The third and final (also most inefficient) approach is to grab all parents, and while constructing each parent object, make a trip to the DB to grab all its children. This approach takes n+1 connections: 1 for all parents and n number of trips to get all children for each parent.
Any advise on how to do this easier? Granted i can't get away from using stored procedures, and I can't use LINQ2SQL or EF. Would you prefer Data Tables vs DataReaders and if so how to use either with approach 1 or 2?
I want to remove parent control (which is span in this case) without deleting its children controls from container. how can I accomplish this in asp.net c#?
you can see the code here: http://pastebin.com/9NiriWXN
Note: I can easily find the "newsright" control and return its parent (which is span in this case)
I have been having an issue when expanding a treeview, it looks fine when I load it, but when I click on a parent node it does expand, but also puts like 2 other parent nodes undernearth it. I am thinking it's because the treeview is saying that the parent nodes that have children have an index of 0, while everything else as there own index.
I have a basic CMS which I'm adding to a site to display some downloads organised into groups. I have two tables, one for the groups and one for the downloads. I'm using a repeated to display the groups with another repeater inside to display the children. This works perfectly.
However some of my download groups may not have any downloads related to them and I'd like to handle this by filter the groups so that only those with a relate download record(s) are shown.
I'm trying to do this with the query which populates the top repeater based on some ideas I read but I must be going wrong with the syntax.
Here is what I'm using to try and only select downloads groups which have downloads linked to them by the download group ID.
[Code]....
Can anyone offer any thoughts on how I should construct the query to perform this?
I have a partial view that is rendered on a view. That partial view has textboxes in it. The user can enter values into them.
I need to put all the values from the textboxes in my partial view into an array, and then give the view (the parent page rendering that partial view) access to that array.
"When a partial view is instantiated, it gets its own copy of the ViewDataDictionary object that is available to the parent view. The partial view therefore has access to the data of the parent view. However, if the partial view updates the data, those updates affect only the partial view's ViewData object. The parent view's data is not changed."Is there a common way around this? For instance I have a View containing two Partial Views (User Controls) that source the same data from the Parents ViewData. The first Partial View is able to update (add/delete) certain data from the Parents View Data, however the second Partial View sources the same data but obviously isn't reflecting the changes owing to the above MSDN statement.
I have a partial view that has only a dropdown, i have called this partial view from a view. I can able to pass the model to this partial view and it renders successfully. However when some user selects a particular text from the dropdown, the corresponding value should be passed to view and it should be displayed in the label in view.
So, in our website we are using SiteMap. For each request we render some menu and to do that we do SiteMap.RootNode in the helper function.
Now, when I have done the profiling of my website using dotTrace, I saw the get_RootNode() is taking lot's of time(around 70-75 millisecond). But we know that the SiteMap is static. So, I am thinking in somehow I will get the SiteMap.RootNode only once in Application_Start and will access that through out each request.
So, my questions are,
Is my approach correct?
How should I do that?
Or is there any efficient way that I can use SiteMap.RootNode
I created 2 functions that do this, but I do not this it efficient at all. I have a 40mb file and it takes the program about 2 hours to complete. Is there a more efficient way to do this? Is there a way to use regex? See my code below:.....................
In my web application I am working with files. Some files are very large. I use Response.Write() to write the file to the browser. This goes well for the smaller files, but for large files this can take a while and the bandwidth is fully used.
Is it possible to split large documents and send it piece by piece to the browser? Are there other ways to send the document quicker to the browser?I hold the document as a property of an object.
I'm trying to get most of the data I have on my web page, to update a query during an asp 2.0 raisecallback event. I've tried Request.Form with no luck. I've got the html (sent in raisecallback parameter) using 2 div tag's innerhtml. Can someone tell me an efficient method to use to get all this data for updating - Do I have to parse from the callback string (eventArgument) & if so can I use a reader of somekind, or is there a better way?
I've got a database table with a very large amount of rows. This table represents messages that are logged by a system. Each message has a message type and this is stored it it's own field in the table. I'm writing a website for querying this message log. If I want to search by message type then ideally I would want to have a drop down box listing the message types that have come up in the database. Message types may change over time so I can't hard code the types into the drop down. I'll have to do some sort of lookup. Iterating over the entire table contents to find unique message values is obviously very stupid however being stupid in the database field I'm here asking for a better way. Perhaps a separate lookup table which the database occasionally updates listing just the unique message types that I can populate my drop down from would be a better idea.
The platform I'm using is ASP.NET MVC and SQL Server 2005
I have an ASP.NET app that accepts users comments and them in a SQL database. I want to make sure that I weed out any "naughty" words so I can keep my app respectable. Problem is that I'm finding there are LOTS of these words. ;>My question is, what's the most efficient way to do this processing? Should I have a table in SQL and write a stored proc that does the work? Should I do it with c# and Regex in memory on the web server? Are there other options? Has anyone else successfully done this kind of text scanning at scale? If y, what worked?
I've been required to create an entry form to capture details relating to a travel booking. A user should be able to make a booking entering details related to the booking specifically the details of the persons that would be making the trip. This would involve a sort of parent-children relationship between the booking and the persons.
This would be relatively easy for me to achieve using web forms but then how can I easily achieve this is MVC using a single view? Do I have to create a sort of multistep form?
I have a table which contains 2 lables,1 checkbox and i1 image.how to connect this to a list view.how to write Eval code in the Text property of list view.
MainMenu is the Parent node and Tracker, Reports ... are subodes. I want that if I click the node Tracker the all it's parent nodes(NBD, EOI, Proposal, Project, Sub Contract) should expand the remaining treevew remain same.
public class ComponentType { public int ComponentTypeID { get; set; } public string Component_Type { get; set; } public string ComponentDesc { get; set; } } [code]...
I have a parent control that has an instance of a HiddenField child control. I am using CreateChildControls() to add it. Everything works client side including the values being added to the field. However, on postback, the reference to the field is null
here is the code
[code]....
I have tried simply relying on the ViewState ... then also attempted using FindControl(). Neither works, it comes up as a null reference ... any input on what is going here?
I'm working on a Navigation Menu. I've created below ServerControl and it works, but I want to allow users adding some standard ASP.NET controls within my ServerControl Tags like label, image and so on.
<MdsMenu:ServerControlMenu ID="ServerControlMenu1" runat="server"> <MdsMenu:animation AnimationSpeed="Normal" AnimationType="Opacity_Height" Delay="1000" DropShadow="true" /> <!-- HERE HAS TO HAVE SOME STANDARD ASP.NET CONTROLS --> <!-- e.g <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label> --> </MdsMenu:MenuItem> </MdsMenu:ServerControlMenu>
My problem is here that how I can get Child Controls within <MdsMenu:MenuItem> and show them like as they are in the output. P.S: I overwrite RenderContents method