-2
得到了一個簡單的測試用例,並且不確定爲什麼代碼在使用jQuery的get
方法調用url時行爲不一樣。c#asp updatePanel.Update()不能用於jQuery的獲取
後面的代碼:
protected UpdatePanel UpdPanel;
protected PlaceHolder PlHolder;
protected virtual void Page_Load(object sender, EventArgs e)
{
PlHolder.Controls.Clear();
var count = Request.QueryString["count"];
AddControl(string.IsNullOrEmpty(count) ? 10 : Convert.ToInt32(count));
}
public void AddControl(int count)
{
for (var i = 0; i < count; i++)
{
var control = (TestList)Page.LoadControl("~/List/TestList.ascx");
control.TextBoxText = string.Format("{0} - test", i);
PlHolder.Controls.Add(control);
}
UpdPanel.Update();
}
標記:
<asp:UpdatePanel runat="server" ID="UpdPanel" UpdateMode="Conditional">
<ContentTemplate>
<asp:PlaceHolder runat="server" ID="PlHolder"></asp:PlaceHolder>
</ContentTemplate>
</asp:UpdatePanel>
的Javascript:
<script type="text/javascript">
$(function() {
var link = $('.link'),
url = window.location.href.replace("#", "") + "default.aspx?count=20";
link.on('click', function() {
$.get(url);
});
});
</script>
如果我直接在瀏覽器中使用URL http://localhost:54645/default?count=20
的UpdatePanel.Update()
工作正常,但使用jQuery的get
它什麼都不做。
頁面生命週期事件以相同的方式觸發並且沒有區別(至少我是這麼認爲的)。
也嘗試使用$.post()
沒有變化。
任何幫助表示讚賞。
你是否打算放一個按鈕,當使用JavaScript調用'_doPostBack()'? – Morpheus
它使用'_doPostBack' :) – Morpheus