2017-10-04 2 views
0

div 태그의 innerHTML로 표시하려는 보고서를 계산하기 위해 asp : Button 태그의 OnClick을 사용하고 있습니다. 이 html 파일을 반환하려면 Response.WriteLine 메서드를 사용하고 싶습니다. ASP.NET 웹 폼이이 응답을 캡처하는 방법을 제공합니까?asp : Response.WriteLine을 캡쳐하는 방법

대신 JavaScript를 사용해야합니까? 나는 서버 측에서 C#을 사용하고있다.

+0

왜'Response.WriteLine'입니까? 그건 어리 석다. 응답에 직접 쓸 필요가 없습니다. 제공된 컨트롤을 사용하여 생성 된 HTML을 div에 지정하면됩니다. – mason

+0

당신은 무엇을 제안합니까? 페이지를 새로 고치는 이유는 무엇입니까? –

+0

버튼을 클릭하면 페이지가 다시 게시를 시작합니다. 원하지 않으시면 AJAX 및 이와 유사한 기술을 배워야합니다. 어떤 플랫폼을 선택해야합니까? Web Forms은 오래된 고풍의 쓰레기입니다. 처음으로 배우는 분이라면 [ASP.NET MVC] (https://www.asp.net/mvc) 또는 클라이언트 측 프레임 워크 (예 : 각도)를 서버 측 끝점과 결합하는 방법을 배우는 것이 좋습니다 ([Web API] (https://www.asp.net/web-api)와 같은). – mason

답변

0

이 작업을 수행하는 방법은 컨트롤을 사용하고 코드에서 InnerHTML을 설정하는 것입니다. 다음은 자체 포함 된 예입니다.

<%@Page Language="C#" AutoEventWireup="true" %> 

<script runat="server">  
    protected void GenerateReport(object sender, EventArgs e) 
    { 
     var reportHTML = "<p>This is a <span style='font-weight: bold;'>report!</span></p>"; 
     ReportDiv.InnerHtml = reportHTML; 
    } 
</script> 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
    <head> 
     <title>Test</title> 
    </head> 
    <body> 
     <form runat="server"> 
      <asp:Button runat="server" OnClick="GenerateReport" Text="Generate Report" /> 
      <div runat="server" id="ReportDiv"></div> 
     </form> 
    </body> 
</html>