Render .net Repeater As-and-when Chunks Of Html Is Ready (streaming)?
Apr 22, 2010
The problem is to render huge reports. Basically we have lots of data that get rendered in html reports (mostly using repeater or gridview). As it so happens, the data started out small and now we have tons of it. There are lots of such reports already built so total rewrite is not an option. Heck, the business is not even letting us page the data. Now server memory is shooting up each time we try to render some reports. So the question is - is there some way we can bind data to repeater and have it stream html to browser as and when chunks are ready? That way we hope to not bring all that data into app server at once. I'm thinking we'll use a datareader or something to get parts of data and render it to browser.
My plain texts are image links and pdf URLs from a database table, in groups, in the correct order but I'm not sure how to render them correctly (sample image below shows what I am trying to render)
Is there any way to make a repeater template intelligent enough to render an "image link" OR "pdf link" based off the [type] column returned in the record?
table: pk Name Type (image or pdf) URL Description URL_Thumbnail (if image) GroupId (associate these records to each other) OrderNumber (order of these records within their GroupId)
I just upgraded my mvc 1.0 project to 2.0 using the wizard. My project builds fine however, my html helpers that I have used, does not render the input's ID tag. For some reason, only some controls render and some do not. For example:
[code]....
I thought it had to do with the fact that the value is empty, but from the two examples, they are nearly identical. Is this a bug? All was working before I upgraded.
The following seems reasonable, but it returns an error:
<asp:Repeater ID="RepeaterF" runat="server" DataSourceID="DSF" > <ItemTemplate> <% If Eval("Item_Batch") = 0 Then %><tr><td></td><td colspan="2"></td><td></td></tr><% Else %>........
Error: "Databinding methods such as Eval(), XPath(), and Bind() can only be used in the context of a databound control."
I am finding it difficult to accept that the whole Repeater approach has any benefits over just creating a loop in code, iterating through a recordset, and building a html table into a variable, then dumping it to the page. This repeater is spawning pages of code and objects, and surely this is all using up server resources.
i'm using some components. When page render, components generate html comment tags. if i'm using this component 10 times on one page, html comments inserted 10 times.
How to remove html comment tag before render page?
For some reason, i have to make a aspx page to let iphone/android to Post form. After the data processing of request.form , i have response a JSON string in plain text. However *.aspx will enforce to render html,head,body tag,so how can i disable it?
I cannot use ashx, because the mobile have to post image via form, as i search the answer by google ,ashx cannot handle the http post files.
Edit: As SLaks said, ashx can handle POST file using "context.Request.Files" and it works.
I have an application that renders HTML code to allow users to preview an email that the app sends out. The HTML is held in a string that is then put into the text property of a label. This is working fine, but now I need to also add XML to the HTML string for an email listener when the user clicks the Send button. The problem is that the XML tags are being ignored by the browser.
I am using web user control and making it visible false initially (page load) and on the selection of checkbox i am making it visible true. user control html is missing when i load it on checkbox selection. is there any when that i rebind the complete form again on checkbox selection so that user control html should be rendered.
i am really struggling to solve this issue since last two days.
how to make asp.net page fast render as fast as HTML page, this is my main and urgent requirement,
Acctualy My page conatins lots of data, images and videos from the database, so m facing the problem in page rendring, rendring is too slow, and client requires as fast rendring as HTML, i have studied a lot and found.....
Retrive data with the help of XML creates fast page rendring mean Retrive data from database in XML and then bind all the data in page from that XML file.
When the page loads it works fine. (and lots 10 links) on the update panel it hits the same function and tries to get another 10 links. I set the navigationURL to something like
"../Folder/Mypage.aspx?498592ghjgfosdfgo"
It is set identically both times(load and updatepanel postback) but when i try to render it to html the second time (on the update panel) it adds "../" to the front so i end up with
"../../Folder/Mypage.aspx?498592ghjgfosdfgo"
The function where it changes here
Public Shared Function RenderControl(ByVal c As Control) As String Dim sw As New IO.StringWriter Dim htmlw As New HtmlTextWriter(sw) c.RenderControl(htmlw) Return sw.ToString End Function
c is the hyperlink which has the propertry navigationurl (this never gets changed) but the sw which ends up looking like this on load
Iam getting the below string in a variable"result" after xslt tranformation. if i do Page.ParseControl(result) iam able to render controls to the page. But the requirement is different. I have 4 place holders in that aspx page.I need to bind div id="Section1" to placeholder1, div id="Section2" to placeholder2 and similar the other two sections also to the corresponding place holder. how can i loop and add controls to corresponding place holder.
I have a dynamic page which has repeating input text fields and is build using Jquery. I use C#.net to get the data to be displayed on the input fields. My question is on how do I handle single Quotes and double quotes while rendering the input field. I create jquery string on page render and uses that to render the input fields on the page. But if any of the input fields contains a html tag with double quotes then it screws up the whole page. Let me know I this make sense or need more explanation.
I would like to be able to render a view in ASP.NET MVC so that all css classes in the elements are rendered inline in the tags. The sole purpose of this is to have email clients recognise html, as I believe that style must be inline for it to be recognised in email messages.
Is there any facility in ASP.NET MVC (or ASP.NET) that allows this?