我在回帖时遇到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
我无法理解为什么会出现这个错误。请帮助...
答案 0 :(得分:2)
您可以使用隐藏按钮执行此任务
Button1.Attributes.CssAttributes.Add("Display","None");
隐藏按钮后
你可以从javascript中调用它的点击功能
document.getElementById('<%=Button1.ClientID%>').click();
这将调用服务器上的Button1_Click
**请记住设置UseSubmitBehaviour=false
以使其在非IE浏览器上运行
希望有所帮助:)
答案 1 :(得分:1)
__ doPostBack。如果页面没有导致回发的控件,则ASP.NET不会创建/生成此方法。 在您的情况下,您可以通过在Page_Load事件中添加以下行来强制ASP.NET生成__doPostBack:
ClientScript.GetPostBackEventReference(this, string.Empty);
此行将强制创建此方法。
答案 2 :(得分:-1)
默认情况下不会创建_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>
例如你的代码会起作用。 不知道它是否真的很有用:)但是。