Search code examples
c#databasefilepreview

how to preview a html file from database to a browser using C#


I have HTML code stored in a database and would like to display (render) it onto a view.

I wanted to show it as a normal text page.

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 -

I have a button as view and when clicked, it should show me the page.

I am using entity frame work so i have written,

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);

and i have created a new page view.aspx and tried to use System.Web.HttpUtility.HtmlDecode(Request.QueryString["Text"]) to render the file.

But i am getting a blank page.

Please help me.

Thanks,


Solution

  • Can you confirm that page.Text has a value when it's being rendered?

    If you are certain that the value page.Text is populated correctly (I'm assuming something like "view.aspx?id=1&Text=<h3>example post<h3>") then you may want to try encoding the string for the URL before returning it to the client.

    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);
    

    Then make sure that you are getting encoded characters in your links on the client.