我有一个名为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;
答案 0 :(得分:0)
修改你div的样式,你可以使用样式属性:
canvas.Attributes["style"]
答案 1 :(得分:0)
您只能访问通过<input>
,<select>
或<textarea>
等适当表单字段提交的数据。这些字段具有runat="server"
属性,因此您可以直接在后面的代码中访问它们,或者您可以为字段指定name
属性,以便您可以通过Request.Form对象获取它们... < / p>
也许您可以将字段更改为<textarea>
,或迁移到使用AJAX将HTML数据发布到您的应用程序。
答案 2 :(得分:0)
除非在面板触发器中定义了触发回发的事件,否则无法访问该值 - http://www.asp.net/web-forms/tutorials/aspnet-ajax/understanding-asp-net-ajax-updatepanel-triggers
使用更新面板时,只会将页面的“部分”发回服务器,从而减少HTTP流量并提供AJAX功能。如果您没有为此UpdatePanel指定触发器,则UpdatePanel中的内容永远不会发送回服务器。
答案 3 :(得分:0)
尝试使用asp.net隐藏字段来获取canvas的innerHTML。 使用jquery获取div的HTML并将其初始化为隐藏字段。
$("#hiddenfieldID").val = $("#canvas").innerHTML;