gpt4 book ai didi

javascript - asp.net - 如何获取动态更改的div block 的内容

转载 作者:行者123 更新时间:2023-11-28 05:30:56 27 4
gpt4 key购买 nike

我对 ASP.NET 相当陌生,我正在尝试获取 div block 的内容,其内容在运行时发生更改。当用户单击 Button1 (asp:button) 时,我希望它检索 frm_div 的整个内容(不仅仅是默认内容)并将其显示在 frm_div2 中。如有任何建议,我们将不胜感激。

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>

最佳答案

添加隐藏输入并在 func() 中用内容填充隐藏输入的值。

[... snip ...]
<asp:Hidden id="myhidden" runat="server" />

[... snip ...]
function func() {
document.getElementById('frm_div').innerHTML =
'<p>' +
document.getElementById('frm_div').innerHTML +
' <b>client side added</b> </p>';

document.getElementById('myhidden').value =
document.getElementById('frm_div').innerHTML;
}

然后在按钮单击服务器处理程序中,您可以访问该值:

protected void Button1_Click(object sender, EventArgs e)
{
string v = myhidden.value;
}

为了避免安全错误,您需要对值进行 HtmlEncode:

function HtmlEncode(str) {
return str
.replace(/&/g, '&amp;')
.replace(/"/g, '&quot;')
.replace(/'/g, '&#39;')
.replace(/</g, '&lt;')
.replace(/>/g, '&gt;');
}

function func() {
document.getElementById('frm_div').innerHTML =
'<p>' +
document.getElementById('frm_div').innerHTML +
' <b>client side added</b> </p>';

document.getElementById('myhidden').value =
HtmlEncode(document.getElementById('frm_div').innerHTML);
}

在服务器端,您可能需要 HtmlDecode() 该值。

关于javascript - asp.net - 如何获取动态更改的div block 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39708880/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com