[英]Cannot get inner html of a div in asp.net on server
我有一个名为canvas的div。
当我尝试在回发中获取其InnerHTML
属性时,它表明它具有空的html内容。
为什么不填充此属性?
<form id="Form1" runat="server">
<asp:ScriptManager runat="server">
</asp:ScriptManager>
<asp:UpdatePanel ID="upPanel" runat="server">
<ContentTemplate>
<div id="canvas" clientidmode="Static" runat="server" class="ui-droppable"
style="width: 1363px; height: 766px;">
</div>
</ContentTemplate>
</asp:UpdatePanel>
</form>
string finalHTML = canvas.InnerHTML;
要修改div的样式,可以使用style属性:
canvas.Attributes["style"]
您只能访问通过正确的表单字段(例如<input>
, <select>
或<textarea>
提交的数据。 这些字段具有runat="server"
属性,因此您可以直接在后面的代码中访问它们,也可以为字段赋予name
属性,以便可以通过Request.Form对象获取它们。
也许您可以将字段更改为<textarea>
,或迁移到使用AJAX将HTML数据发布到您的应用程序。
除非在面板触发器中定义了触发回发的事件,否则该值将不可访问-http: //www.asp.net/web-forms/tutorials/aspnet-ajax/understanding-asp-net-ajax-updatepanel-触发器
使用更新面板时,仅页面的“部分”被发布回服务器,从而减少了HTTP流量并提供了AJAX功能。 如果您没有为此UpdatePanel指定触发器,则UpdatePanel中的内容永远不会发送回服务器。
尝试使用asp.net隐藏字段获取画布的innerHTML。 使用jquery获取div的HTML并将其初始化为隐藏字段。
$("#hiddenfieldID").val = $("#canvas").innerHTML;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.