Javascript 保留动态插入内容accross回发
我有一个div让我们说: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 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();
}