开发者

Response.Write output in code block is appearing outside html

Putting aside any debate about whether you should even use R开发者_如何学运维esponse.Write in the HTML portion of an .aspx, in a project I am working on variables from the code behind are being displayed on the front-end using Response.Write. It used to work fine but something in the project changed recently (another development team was working on it, so I don't know exactly what happened) but now all the Response.Write code blocks are displaying at the top of the page. The only clue I have to what might have changed is that some recent AJAX functionality was added to the project.


Response.Write writes to the response stream. The reason that your data is added on the beginning of the response stream can only be that the event where your statements are triggered is before any of the Response.Write of ASP.NET start.

You should typically override Render, RenderChildren or RenderControl to put your Response.Writes in, and make sure to call the proper parent methods, otherwise only your statements are visible. Alternatively, put your Response.Write inside server tags <% %> or use the suggestion of Naveed (which btw translates internally into a Response.Write anyway, but is much clearer and easier to write).

EDIT summary of the extended chat below: the cause was found in the Telerik RadAjax.Net2 control. On removing that, the issue went away. Solved by Andreas himself.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜