2012-02-14 3 views
0

데이터베이스에 HTML 코드가 저장되어 있으며 뷰에 표시 (렌더링)하고 싶습니다.C#을 사용하여 데이터베이스에서 브라우저로 html 파일을 미리 보는 방법

일반 텍스트 페이지로 표시하고 싶습니다.

eg: **HTML:** <h3 style="font-weight: bold">Usage:</h3> 
<p style="text-decoration: underline">Viewing of Form -</p> 

Should be shown as: Usage: 
        Viewing of Form - 

버튼을 볼 수 있으며 클릭하면 해당 페이지가 표시됩니다.

나는 그래서 내가 작성한 엔티티 프레임 워크를 사용하고

,

string url = ("view.aspx?id = " + page.ID + "&Text=" + page.Text); 
       ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", "window.open('" + url + "', null, 'height=500,width=800,status=yes,toolbar=yes,menubar=no,location=no,scrollbars=yes,resizable=no,titlebar=yes');", true); 

그리고 난 새로운 페이지 view.aspx를 생성하고 파일을 렌더링 할 System.Web.HttpUtility.HtmlDecode(Request.QueryString["Text"])를 사용하는 것을 시도했다.

하지만 빈 페이지가 나타납니다.

도와주세요.

덕분에,

답변

0

당신은 page.Text 그것이 렌더링되는 것 값을 가지고 있는지 확인 할 수 있나요?

page.Text 값이 올바르게 채워져 있다면 (나는 "view.aspx?id=1&Text=<h3>example post<h3>"과 같은 것으로 가정 함) 클라이언트에 반환하기 전에 URL 문자열을 인코딩하려고 할 수 있습니다.

string url = ("view.aspx?id = " + page.ID + "&Text=" + System.Web.HttpUtility.UrlEncode(page.Text)); 
ScriptManager.RegisterStartupScript(this, typeof(string), "OPEN_WINDOW", "window.open('" + url + "', null, 'height=500,width=800,status=yes,toolbar=yes,menubar=no,location=no,scrollbars=yes,resizable=no,titlebar=yes');", true); 

그런 다음 클라이언트의 링크에 인코딩 된 문자가 표시되는지 확인하십시오.

+0

예 page.text에는 디버깅하는 동안 값이 있습니다. 내 view.aspx 페이지에서 System.Web.HttpUtility.HtmlEncode (page.Text) 시도했지만 팝업 페이지에 데이터가 나타나지 않습니다. 그리고 MVC 사용하고 있지 않습니다. – user1098449

+0

사실 나는 새로운 창에서 일반 텍스트 파일을 볼 수 있지만 html 텍스트 display.I에 대한 오류가 나는 html file.what 디코딩을 인코딩해야한다고 생각하고 인코딩하고 html 파일을 해독 할 수 있습니까? – user1098449

+0

좋아, 지난 코멘트를 삭제했는데 다른 해결책이 있다고 생각했기 때문에 마지막 코멘트를 기반으로'HttpUtility.UrlEncode'와'HttpUtility.UrlDecode'를 사용해보십시오. 조회 문자열에서이 값을 전달하기 때문에 HtmlEncode/Decode가 문자를 올바르게 인코딩하지 않을 수도 있습니다. – akousmata

관련 문제