jquery不在已发布的站点中工作,但在开发环境中工作

时间:2016-01-30 07:42:34

标签: jquery asp.net ajax webforms

我使用jquery来改变我的asp.net页面的某些元素的样式,如下所示

protected void Page_Load(object sender, EventArgs e)
    {
        string scrp3 = "$(document).ready(function () {if ($('#MainContent_chbkCooperation_1').is(':checked')) {if (!$('#MainContent_chbkCooperation_0').is(':checked')) {$('.pajooheshVal').hide();}}});";
        ScriptManager.RegisterStartupScript(this, GetType(), ClientID, scrp3, true);
    }

在我的本地测试中,这种风格有效,但是当它在服务器上发布时它不起作用,并且样式保持不变。

注意:

我的页面中有多个updatepanel并使用ms-ajax。 如何在页面的每个完整和异步后退中隐藏我的元素?

1 个答案:

答案 0 :(得分:0)

我从cliend方面解决了以下问题:

Sys.WebForms.PageRequestManager.getInstance().add_pageLoaded(PageLoaded);

function PageLoaded(sender, args) {
        var prm = Sys.WebForms.PageRequestManager.getInstance();
        if ($('#MainContent_chbkCooperation_1').is(":checked")) {
            if (!$('#MainContent_chbkCooperation_0').is(":checked")) {
                $('.pajooheshVal').hide();
            }
        }
    }

这帮助我在页面的每个asyncpostback上运行jQuery。 对于完整的回发,我使用jquery it self。