私はasp.netをかなり新しくしています。実行時に内容が変更されるdivブロックの内容を取得しようとしています。ユーザーがButton1(asp:button)をクリックすると、frm_divの全コンテンツ(デフォルトのコンテンツだけでなく)を取得してfrm_div2に表示したいと思います。どんな提案も感謝しています。asp.net - 動的に変更されたdivブロックの内容を取得する方法
protected void Button1_Click(object sender, EventArgs e)
{
//WOuld like to get the content of frm_div not just default content and put it in frm_div2
frm_div2.InnerHtml = frm_div.InnerHtml;
string buf = TextBox1.Text;
changed_text.InnerHtml = buf.ToUpper();
}
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true"></asp:ScriptManager>
<div>
<asp:TextBox ID="TextBox1" runat="server" style="width:224px">
</asp:TextBox>
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Enter..." style="width:85px" onclick="Button1_Click" />
<hr />
<h3> Results: </h3>
<span runat="server" id="changed_text" />
</div>
<button id="ClickFunc" type="button" value="Hello" onclick="func();">Click</button>
<div id="frm_div" runat="server">
-----
</div>
<div id="frm_div2" runat="server">
</div>
</form>
<script type="text/javascript">
function func() {
document.getElementById('frm_div').innerHTML = '<p>' + document.getElementById('frm_div').innerHTML + ' <b>client side added</b> </p>';
}
</script>
これはうまくいきますが、divコンテンツにはデフォルトでhtmlタグが含まれているため、セキュリティ上の理由からサーバーはエラーを返します。 概要ASP.NETは、HTMLマークアップまたはスクリプトを含む可能性があるため、潜在的に危険なデータを検出しました。データは、クロスサイトスクリプティング攻撃など、アプリケーションのセキュリティを侵害しようとする可能性があります。このタイプの入力がアプリケーションで適切な場合は、明示的に許可するコードをWebページに含めることができます。 クロスサイトスクリプティング攻撃を回避したい場合は、他の方法がありますか? – alex