Web Forms Tabular Management for this scenario
I am developing an asp.net site with two column layouts. There are menu items on the left side. Clicking a menu item changes the content of the desired item (toggles visibility). The content on the right side is tabular data. The tables contain information about the selected menu item.
Environment : Visual Studio 2010, ASP.Net 4.0
Service : WCF service (we have control over the service)
I now have complete flexibility in defining behavior as long as the performance is good.
Tables require pagination and sorting. Tables should be able to do server side paging (or custom paging) as loading all data in the first load would be performance.
Loading the "right content" should be partial rendering. I am planning to control the visibility of various items based on the selected menu item. There will be about 10 tables on the page. Therefore, the table data should only be loaded on demand. When the page is loaded for the first time, it should only have data in one table. Other tables should be empty.
I can use tested open source jQuery plugins
There are many ways to accomplish this, starting with the use of a Grid View. What is the best suitable control for the above table functions?
High Performance Websites http://video.yahoo.com/watch/1040890/3880720
ASP.NET Performance Checklist http://msdn.microsoft.com/en-us/library/ms998596.aspx
Efficiently Paging Through Large Amounts of Data (C #) http://www.asp.net/web-forms/tutorials/data-access/paging-and-sorting/efficiently-paging-through-large-amounts-of-data- cs
source to share
Sounds like a job for MVC3 and Razor Views to me. I did something similar with a partial view for my grid, which in turn renders partial views for sort headers and paging controls, all of which are (or contain) Ajax.ActionLink elements that pass the sort, sort direction, strings to page, etc. args to my actions GoToPage, SortGrid and ChangeRowsPerPage.
I also have a PagingModel, a SortHeaderModel that contains a PagingModel, and models individual tables, including the PagingModel. Since the table name is as a property in the paging model, Ajax.ActionLinks can pass this back to the actions they invoke, and the switch block can be used to pass other parameters to the constructor for the corresponding model, and then that model is passed to the partial grid view with a fresh data page ...
It works and I never miss anything to the browser other than the page of data currently being viewed.
source to share