Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 保留动态插入内容accross回发_Javascript_Jquery_Asp.net_Postback - Fatal编程技术网

Javascript 保留动态插入内容accross回发

Javascript 保留动态插入内容accross回发,javascript,jquery,asp.net,postback,Javascript,Jquery,Asp.net,Postback,我有一个div让我们说: <div id="foo"> </div> 现在,我在这个div中插入了一些html内容,只需单击一些按钮(无需回发)。现在,当我在服务器控件提交按钮上对某个操作执行回发时,我希望html(通过javascript插入)保留在foo div中。现在我正在考虑使用一个隐藏的输入服务器控件,在提交表单时,我将在该隐藏控件中插入foo div的内容,下次在回发后加载页面时,我将用隐藏字段中的内容填充foo div。我采用的是正确的方法还是我应该选

我有一个div让我们说:

<div id="foo">
</div>


现在,我在这个div中插入了一些html内容,只需单击一些按钮(无需回发)。现在,当我在服务器控件提交按钮上对某个操作执行回发时,我希望html(通过javascript插入)保留在foo div中。现在我正在考虑使用一个隐藏的输入服务器控件,在提交表单时,我将在该隐藏控件中插入foo div的内容,下次在回发后加载页面时,我将用隐藏字段中的内容填充foo div。我采用的是正确的方法还是我应该选择的其他好方法?

我认为更好的方法是将asp面板用于“foo”而不是div,然后将其包装在更新面板中,并将按钮作为触发器。这将允许您使用ajax回发在服务器端设置面板的内容

但是,如果您确实决定使用您提到的方法,您可能可以执行以下操作:

标记:

  <asp:Hidden ID="hdnContent" Value="" runat="server"/>
  <div id="foo"></div>

这是我将使用的方法。您必须将客户端生成的内容添加到表单输入字段中的某个位置,否则将无法将其发回服务器。能否请您更清楚地说明updatepanel。。。?我不明白密码。。。请更新代码。。。。
$(document).ready(function() {

    $('#foo').html($('#<%= hdnContent.ClientID %>').val());

    $('#trigger').click(function() {

         var content = loadSomeContent();

         $('#foo').html(content);
         $('#<%= hdnContent.ClientID %>').val(content);

    });

});
<asp:UpdatePanel runat="server">
    <ContentTemplate>

        <div id="foo">
            <asp:Literal ID="litFoo" runat="server"/>
        </div>

        <asp:Button ID="btnContent" Text="Insert Content" OnClick="btnContent_OnClick" runat="server"/>
    </ContextTemplate>
</asp:UpdatePanel>
protected void btnContent_OnClick(object sender, EventArgs args)
{
    litFoo.Text = loadContent();
}