2012-01-04 12 views
0

ごめんなさい!1つの.aspxページから他の.aspxに多くのHTMLコンテンツを転送する方法

少し助けが必要です。私はアンケートをオンラインで作成するためのasp.Net、C#アプリケーションを作成しようとしています。主な目的は、質問を動的に追加して保存し、解決することです。 4つの質問タイプの1つを選択し、パラメータを挿入し、ラベル、ラジオボタン、コンボ、テキストボックスなどで構成されたHTMLコードを動的に作成します。
フォーム上に1つの質問を生成するために使用されるメソッドの例。

public string RetOptionalQuestion(string seq_numm, string question, string answersOpt)
{
StringBuilder _output = new StringBuilder();

_output.Append(@"<table><tr"><th>" + seq_numm + "." + question + "</th></tr>"); _output.Append(@"<tr><td><table>"); string[] words = answersOpt.Split(';'); int m = 0; foreach (string word in words) { if (word != "") { _output.Append(@" <tr><td> <label> " + word + "</label> </td> <td> <input id='optional" + question + Convert.ToString(m) + "'type='radio' name='rbOpt" + question + "' </td> "); m++; } } _output.Append("</table></td></tr></table>"); return _output.ToString(); }

あなたが質問の追加]をクリックするたびに、問題は、ページの下部にあるのContentPlaceHolderにあるdiv要素にお互いの下に表示されます。

ここで、ボタンをクリックすると、このdivの全HTML(新しい質問)が新しい.aspxページに転送されるので、解決のための質問があります。

私はjQueryを使ってdivのフルHTMLを取得し、このヘルプhttp://jquery-howto.blogspot.com/2010/09/jquery-cookies-getsetdelete-plugin.htmlでクッキーに保存しようとしていますが、成功しません。

クライアントエラー - >潜在的に危険なRequest.Cookies値がクライアントから

を検出しましたあなたは、私が

非常に喜んでいただけることでしょうから始めれば...何かアドバイス、ヒント、たとえば、解決策を持っていますか...

事前に感謝します。

答えて

0

クッキーを使用してリクエスト間でhtmlを移動する代わりに、セッション変数やDBのフィールドを使用することができます。 html全体をいくつかのhiddenField on sourceページに保存し、サーバー側でそのhtmlをセッション変数に設定することができます。

次のページでは、セッション変数からそのHTMLを読み込み、変数をクリアすることができます。しかし、htmlをサーバーに投稿する場合は、ソースページのページタグにValidateRequest = "false"を設定する必要があるかどうかを忘れないでください。

3

このエラーは、CookieにHTMLを保存しているために発生します。潜在的なXSS攻撃のように見えるので、この警告が与えられます。

ページ間でHTMLをカートに入れないようにすることをお勧めします。代わりに、ページ間のペイロードは状態でなければなりません。 「受信」ページは、クッキー内の状態を検査し、その質問のリストを再構築できる必要があります。 ASP.NETユーザーコントロールにそのテーブルを配置し、その2つのページでそのコントロールを再利用することを検討してください。この方法では、HTMLを運ぶ必要はありません。

+0

他の方法はありますか? あなたがユーザーコントロールの.ascxで言うように、これを解決しようとしていますが、成功しません。私は最初のページにaddQuestionボタンを持っていて、もう一方のページには調査のタイトルとアンケートの質問だけを持っています。ユーザーコントロールを使用すると、コントロール内にボタンが表示されますか?か否か? ありがとう – martin

関連する問題