Javascript c#asp UpdatePanel.Update()不使用jQuery';让我们

Javascript c#asp UpdatePanel.Update()不使用jQuery';让我们,javascript,c#,jquery,asp.net,forms-authentication,Javascript,C#,Jquery,Asp.net,Forms Authentication,获取了一个简单的测试用例,不确定为什么在使用jQuery的get方法调用url时,代码的行为不一样 代码隐藏: protected UpdatePanel UpdPanel; protected PlaceHolder PlHolder; protected virtual void Page_Load(object sender, EventArgs e) { PlHolder.Controls.Clear(); var count = Request.QueryString

获取了一个简单的测试用例,不确定为什么在使用jQuery的
get
方法调用url时,代码的行为不一样

代码隐藏:

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();
}
受保护的更新面板UpdPanel;
受保护的占位符;
受保护的虚拟无效页面加载(对象发送方、事件参数e)
{
PlHolder.Controls.Clear();
var count=Request.QueryString[“count”];
AddControl(string.IsNullOrEmpty(count)?10:Convert.ToInt32(count));
}
公共无效添加控制(整数计数)
{
对于(变量i=0;i
标记:

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

$(函数(){
var link=$('.link'),
url=window.location.href.replace(“#”)+“default.aspx?count=20”;
link.on('click',function(){
$.get(url);
});            
});        
如果我使用url
http://localhost:54645/default?count=20
直接在浏览器中,
UpdatePanel.Update()
工作正常,但是使用jQuery的
get
它什么都不做

页面生命周期事件以相同的方式触发,没有区别(至少我认为是这样)

还尝试使用
$.post()
,但未做任何更改


感谢您的帮助。

您需要在面板内放置一个asp:按钮


UpdatePanel实际上做了一个完整的回发,并且客户端中的页面知道更新相关部分,因此您需要在页面加载方法中记住这一点。

您是否建议在使用javascript调用
\u doPostBack()
时放置一个按钮?