2012-02-14 17 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)を試みたが、ポップアップpage.Andで表示されているデータがMVCを使用していない。 – user1098449

+0

実際に私は新しいウィンドウで通常のテキストファイルを見ることができますが、htmlのテキストdisplay.Iのためのエラーを取得しています私はhtml file.whatをデコードする必要があると私はエンコードし、HTMLファイルをデコードすることができますか? – user1098449

+0

さて、最後のコメントを削除しました。別の解決方法があると思ったのですが、あなたの最後のコメントに基づいて、おそらく 'HttpUtility.UrlEncode'と' HttpUtility.UrlDecode'を試してみてください。これらの値をクエリ文字列に渡しているため、HtmlEncode/Decodeが文字を正しくエンコードしていない可能性があります。 – akousmata

関連する問題