繁体   English   中英

无法在服务器上的asp.net中获取div的内部html

[英]Cannot get inner html of a div in asp.net on server

我有一个名为canvas的div。

当我尝试在回发中获取其InnerHTML属性时,它表明它具有空的html内容。

为什么不填充此属性?

aspx代码

<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>

C#

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM