환경 : Visual Studio 2010
예제 파일 : ContentManager.zip
출처 : http://fivewind.tistory.com/m/post/view/id/91
Boost ASP.NET performance with deferred content loading
public static string SeverControlToHtml(Control control) { System.IO.StringWriter sw = new System.IO.StringWriter(); System.Web.UI.HtmlTextWriter hw = new HtmlTextWriter(sw); control.RenderControl(hw); return sw.ToString(); }
[WebMethod] public string GetRSSReader() { // Create a new Page and add the control to it. Page page = new Page(); UserControl ctl = (UserControl)page.LoadControl("~/RSSReaderControl.ascx"); page.Controls.Add(ctl); // Render the page and capture the resulting HTML. StringWriter writer = new StringWriter(); HttpContext.Current.Server.Execute(page, writer, false); // Return that HTML, as a string. return writer.ToString(); }웹서비스를 이용한 페이지 부분 렌더링
public class AjaxPresenterService : WebServie ... public string Render(string viewName) { string viewPath = String.Format("~/Views/{0}.ascx", viewName); Type type = BuildManager.GetCompiledType(viewPath); ViewControl control = Activator.CreateInstance(type) as ViewControl Page dummyPage = new Page(); dummyPage.Controls.Add(control); StringBuilder response = new StringBuilder(); StringWriter responseWriter = new StringWriter(response); Server.Execute(dummyPage, responseWriter, true); return response.ToString(); } ...
'.NET > ASP.NET' 카테고리의 다른 글
runat=server 에 의한 ID, NAME 변경 막는법 (0) | 2014.04.17 |
---|---|
[펌] 페이지 포스트백 시 포스트백을 일으킨? 콘트롤 ID 찾기.. (0) | 2014.03.19 |
Visual Studio 2010 에서 Visual Studio 2013 로 컨버젼시 using 에러 해결 (0) | 2014.02.19 |
ASP.NET WebAPI와 Knockout.js를 활용한 SPA 개발 (0) | 2014.02.07 |
ASP.NET FTP DOWNLOAD 간단 모듈 (0) | 2013.11.27 |