我認爲一個更好的方法是使用一個asp面板代替'div',然後用你的按鈕作爲觸發器包裝在更新面板中。這將允許您使用ajax回發來設置服務器端面板的內容。
但是,如果你決定使用你所提到的方法,你可能可以做類似如下:
標記:
<asp:Hidden ID="hdnContent" Value="" runat="server"/>
<div id="foo"></div>
腳本:
$(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>
Serverside集團:
protected void btnContent_OnClick(object sender, EventArgs args)
{
litFoo.Text = loadContent();
}
這是我使用的方法。您必須在表單輸入字段中的某個位置添加客戶端生成的內容,否則它將不會回發到服務器。 – toddles2000 2011-02-03 19:25:26