2011-07-14 18 views
1

フロントエンドでコンテンツを編集した後、バックエンドでコンテンツを取得するにはどうすればよいですか? asdf.InnerHtmlは機能しません。入力した新しいコンテンツは返されませんが、最初にロードされたコンテンツのみが返されます。私はそのdivのhtmlコンテンツが必要です。asp.netの編集可能なdivタグからコンテンツを取得する方法は?

+0

これは、ページが配信されるとコンテンツがフロントエンドにのみ表示されるためです。問題の解決策が必要な場合は、もう少し詳細が必要になります。 –

答えて

4

これを行う最善の方法は、javascriptを使用してコンテンツを隠しテキストボックスに配置することです。

ページが転記されると、この値はサーバーで利用可能になります。

あなたのページにはone of theseを置く必要がありますが、クライアントサイドで操作することはできますが、投稿時にサーバーに送信されます。

それは、(クライアント上)のようになります。

HTML:

<input type="hidden" name="html" value=""> 

Javascriptを:

getElementById('<%=hidden.ClientID%>').value = asdf.InnerHtml 

その後値サーバ側を確認してください。

+0

divのHTMLコンテンツが必要 –

+0

隠しテキストボックスの値を 'divのhtmlコンテンツ'に設定します –

0

これはうまくいきませんが、divに名前属性を指定した場合はどうなりますか?そして、バックエンドで、あなたはRequest ["someName"]でコンテンツを取得できるかもしれません。

そうでなければ、ページにrunat = "server"の隠しHTML入力要素を置くことができます。また、編集後にjavascriptを使用して、divの内容を非表示入力の値に配置できます。

+0

最初の解決策はサーバーへのPOSTではないため、最初の解決策は機能しません。あなたの2番目の解決策に同意します。 –

0

div要素にrun="server"があると仮定して、値をサーバーに送信する必要があります。

あなたのdivのInnerHTMLを設定するために、サーバー側のページの読み込みを素早く行うことができます。

if(Request.Params(myDiv.ClientID) != null) 
    myDiv.InnerHtml = Request.Params(myDiv.ClientID); 
関連する問題