尝试调用jQuery时为什么会出现“Error:object expected”?

时间:2011-01-18 08:52:21

标签: asp.net vb.net

代码在:

上产生“预期的错误对象”
<script type ="text/javascript" >
    var doRedirect = function() { location.href='http://www.google.com' };
    $("#<%=Button1.ClientId%>").click(function() {
        $("#<%=Label1.ClientId%>").show();
        window.setTimeout("$('#<%=Label1.ClientId%>').fadeOut('slow', doRedirect)", 10000);
    });
    </script>

此代码有什么问题?

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div style="color: #009933; font-weight: 700">

        <asp:Button ID="Button1" runat="server" Text="Button" />

    </div>
    <p style="color: #336600; font-weight: 700">
        <asp:Label ID="Label1" runat="server" Text="Label" Visible="False"></asp:Label>
    </p>
    </form>
     <script type ="text/javascript" >
         var doRedirect = function() { location.href='http://www.google.com' };
         $("#<%=Button1.ClientId%>").click(function() {
             $("#<%=Label1.ClientId%>").show();
             window.setTimeout("$('#<%=Label1.ClientId%>').fadeOut('slow', doRedirect)", 10000);
         });
     </script>
</body>
</html>

2 个答案:

答案 0 :(得分:6)

您可能需要在<head>

中包含jQuery引用
<script src="javascript/jquery-1.3.2.min.js" type="text/javascript"></script>

http://www.ajaxprojects.com/ajax/tutorialdetails.php?itemid=609

答案 1 :(得分:2)

如果你有jQuery,那不是问题,如果你有隐藏的服务器端,你将无法使用javascript制作标签......

这不会是页面的一部分,所以你不能只让它可见:

<asp:Label ID="Label1" runat="server" Text="Label" Visible="False"></asp:Label>

你可以像这样隐藏它

<asp:Label ID="Label1" runat="server" Text="Label" style="display:none;"></asp:Label>

这有帮助吗?