代码之家  ›  专栏  ›  技术社区  ›  HotTester

使用uuDoPostback()执行回发时遇到错误

  •  2
  • HotTester  · 技术社区  · 15 年前

    我在回发时在javascript上收到一个错误。代码如下:

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="test" %>
    
    <!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 id="Head1" runat="server">
        <title>Untitled Page</title>
    
        <script language="javascript" type="text/javascript">
    
    function DoPostBack() 
    {
        __doPostBack('Button2','My Argument');
    }
    
        </script>
    
    </head>
    <body>
        <form id="form1" runat="server">
        <input type="button" id="Button2" value="Press me" onclick="DoPostBack()" />
        </form>
    </body>
    </html>
    

    我收到以下错误:

    Line: 13
    Error: Object expected
    

    我不明白为什么会出现这个错误。请帮忙…

    3 回复  |  直到 12 年前
        1
  •  2
  •   Mahmoud Farahat    15 年前

    可以使用隐藏按钮执行此任务

    Button1.Attributes.CssAttributes.Add("Display","None");
    

    隐藏按钮后

    您可以从javascript调用它的click函数

    document.getElementById('<%=Button1.ClientID%>').click();
    

    这将调用按钮1“单击服务器”

    **记住设置 UseSubmitBehaviour=false 在非IE浏览器上工作

    希望有帮助:)

        2
  •  1
  •   mas_oz2k1    12 年前

    _默认情况下不创建DoPostback。如果页没有导致回发的控件,则ASP.NET不会创建/生成此方法。 在这种情况下,可以通过在页面“加载事件”中添加以下行来强制ASP.NET生成uu doPostback:

    ClientScript.GetPostBackEventReference(this, string.Empty);
    

    此行将强制创建此方法。

        3
  •  -1
  •   Danil    15 年前

    _默认情况下不创建DoPostback。当添加autopostback=true的控件或添加一些包含按钮的网格时,将显示此消息。 所以代码中没有生成doPostback javascript。 如果你加上

    <asp:DropDownList ID="list" runat="server" AutoPostBack="true">
            <asp:ListItem Text="first"></asp:ListItem>
            <asp:ListItem Text="second"></asp:ListItem>
        </asp:DropDownList>
    

    例如,您的代码可以工作。 不知道它是否真的是有用的代码:)但是。

    推荐文章