有没有办法从Javascript启动VB.NET按钮?

有没有办法从Javascript启动VB.NET按钮?,javascript,asp.net,vb.net,Javascript,Asp.net,Vb.net,我的aspx页面上有一个菜单,看起来很漂亮。这正是我需要的(找到了) 我的问题是:我需要(不知何故)从javascript启动一个按钮控件。我意识到在这个例子中,菜单项只是href链接,但我想知道我怎么可能回发并启动Button1_OnClick事件 有什么想法吗 谢谢, 杰森 请注意,Button1是一个ASP按钮,后面有服务器端VB.NET代码 __doPostBack(*Button1's clientId*,"OnClick") ; 任何元素的click()方法都模拟单击。按钮1将有

我的aspx页面上有一个菜单,看起来很漂亮。这正是我需要的(找到了)

我的问题是:我需要(不知何故)从javascript启动一个按钮控件。我意识到在这个例子中,菜单项只是href链接,但我想知道我怎么可能回发并启动Button1_OnClick事件

有什么想法吗

谢谢, 杰森


请注意,Button1是一个ASP按钮,后面有服务器端VB.NET代码

 __doPostBack(*Button1's clientId*,"OnClick") ;

任何
元素的
click()
方法都模拟单击。

按钮1将有一个名为“ClientID”的属性。您可以通过
document.getElementById(“”
)将其回传到HTML代码中,以获取对象,并且从那里您只需像平常一样调用click

因此:


您可以创建
链接和链接按钮。你也可以保留你的
链接,并将
runat=“server”
放在链接上,这样做不需要单独点击按钮。

这并不能解决问题。问题是他不知道如何从ASP.NET中引用按钮本身。这是因为ASP.NET按钮位于服务器端,而客户端并不完全相同。@Helgi回发者将“知道”按钮。@pst:他仍然需要从JavaScript中识别按钮本身。在单击按钮之前,不会进行回发,而OP会被困在如何从JavaScript中单击它的问题上。下面是我所拥有的:Printfunction PrintBatchJS(){document.getElementById(“”。click();}感谢您指出这一点。我相应地编辑了我的回复。似乎找不到按钮的“ClientID”。这是一个标准的ASP按钮,ID设置为“PrintBatch”。看起来是这样的:我猜我正在搜索getElementByID(“”@Jason ClientID是ASP.NET控件的一个属性——它是一个有趣的长字符串,相当于DOM中的实际ID,而不是ASP.NET控件的“ID”设置的值!(我认为ASP.NET 4允许对其进行更改?在任何情况下…控件也必须呈现(例如可见)才能使用ClientID。)尝试了以下操作,但没有成功:函数PrintBatchJS(){document.getElementById(“”)。click();}我建议使用ASP.NET函数生成
\uu doPostBack
代码。但是,这应该适用于所有浏览器(使用JavaScript)。也就是说,使用
Page.ClientScript
获取一个脚本,并使用
GetPostBackEventReference
生成
\u doPostBack
内容+1不使用
单击()
document.getElementById("<%= Button1.ClientID %>").click();
// Where 'button' is the value of the document.getElementById() function:
if (button.dispatchEvent) {
    var e = document.createEvent(“MouseEvents”);
    e.initEvent(“click”, true, true);
    button.dispatchEvent(e);
}
else {
    button.click();
}