-6

我在下面使用此代码,它的操作是正常的,但是当与 MasterPage 一起使用时,它的行为有严重的问题,代码不起作用。

/// 脚本 /////

$(".cssopen").click(function (e) {
        //Cancel the link behavior
        e.preventDefault();
        //Get the A tag
        //var id = $(this).attr('href');
        //alterado
        var id = '.window';

        var body = $("html");
        //Get the screen height and width
        var maskHeight = $(document).height();
        var maskWidth = $(window).width();

        //Set height and width to mask to fill up the whole screen
        $('#mask').css({ 'width': maskWidth, 'height': maskHeight });

        //transition effect        
        $('#mask').fadeIn(1000);
        $('#mask').fadeTo("slow", 0.8);

        //Get the window height and width
        var winH = $(window).height();
        var winW = $(window).width();

        //Set the popup window to center
        $(id).css('top', winH / 2 - $(id).height() / 2);
        $(id).css('left', winW / 2 - $(id).width() / 2);

        //inserido 
        href = $(this).attr("href");
        $('.window').load(href);      

        //transition effect
        $(id).fadeIn(2000);

        //$(id).show();
        $(id).show().position({ my: "center", at: "center", of: "html" });
    });

    //if close button is clicked
    $('.window .close').click(function (e) {
        //Cancel the link behavior
        e.preventDefault();
        $('#mask, .window').hide();
    });

    //if mask is clicked
    $('#mask').click(function () {
        $(this).hide();
        $('.window').hide();
    });

///////////// 代码.aspx ////////////////

<div>
        <asp:ImageButton ID="imgBtCmd" runat="server" ImageUrl="~/Image/edit.png" href="frmIndexII.aspx" CssClass="cssopen"/>

</div>
4

1 回答 1

-1

我不确定您是否已经发布了所有需要的信息,但我有根据地猜测您正在使用 jQuery 通过 ID 获取控件,并且自从引入母版页以来,这已经破坏了。这是因为母版页将更改呈现的 HTML 元素的客户端 ID。

如果您使用的是 .net4 及更高版本,则可以使用

<asp:SomeControl ClientIdMode="static">

并且控件将保留其 Id 客户端。或者,您可以向控件添加一个类,并按类而不是 ID 对它们进行 jQuery。

于 2013-10-08T11:59:49.577 回答