【问题标题】:programmatically click a button vb.net以编程方式单击按钮 vb.net
【发布时间】:2011-06-22 13:47:59
【问题描述】:

我的页面上有一个隐藏按钮,它触发一个 jquery 函数,看起来好像我不能从服务器端调用 jquery 函数我试图触发按钮点击一个 asp 按钮,我想知道我会怎么做?

提前致谢。

【问题讨论】:

  • 澄清一下,你想让jquery触发一个回发到服务器的事件吗?

标签: asp.net vb.net


【解决方案1】:

我不完全确定你想做什么,但这里有几个选项:

要模拟点击 H​​TML 按钮(客户端),您可以使用 JQuery:

$("#mybutton).click();

$("#mybutton).trigger("click");  

当然,您需要将处理程序附加到您的按钮上

$(document).ready(function(){
    $("#mybutton").click(function(){
        //do something
    });
});

如果您想模拟点击 ASP.Net(服务器端按钮):

你可以通过调用按钮的Click事件绑定的函数来模拟一个按钮被点击:

<asp:button runat="server" id="btn1" Onclick="btn1_Click" Text="Click Me" />

protected void btn1_Click(object sender, EventArgs e){
    //stuff that happens when you click the button.
}

然后在代码中:

例如

btn1_Click(null, new EventArgs());

earlier question 的回复会更深入地探讨这个主题。

更新:

从服务器端,你能做的最好的事情就是重新加载页面,然后让它生成一个脚本来进行必要的函数调用。

按钮必须是一个普通的 HTML 按钮还是可以是一个普通的 HTML 按钮?如果后者只是将其连接到一个通过其 Id 调用 modal 的函数。

如果是前者,您需要在声明中添加一个 CssClass 并通过其类将其连接到一个函数 - $(文档).ready(函数(){ $(".myButtonClass").click(function(){//按类连线 $("#myButtonId").click(function(){//通过 html ID 连接 $('#MyModalContent').modal(); 返回假; //您可能需要额外的代码来防止事件传播。 });

【讨论】:

  • 好的,所以当按钮点击它会触发 然后显示一个弹出窗口我不能想办法从服务器端触发这个 jquery,所以我试图模仿服务器触发按钮,但也因为我有一个 formRewriter,它使我能够执行 Default.aspx?Profile=PROFILEID 之类的事情,每次任何帖子都会触发回来完成然后我不认为我想做什么是可能的:/
  • 如果你想显示一个警告框(客户端),你应该用 Jquery 或 vanilla JS 连接 HTML 按钮的客户端事件。如果您可以发布一些标记,这将使我们 StackOverflowers 更容易理解您的要求。
  • 弹出框是这里使用的ericmmartin.com/projects/simplemodal-demos 这是我希望能够从服务器端触发弹出框的 osx 样式
【解决方案2】:

考虑使用WatiN 框架。它可以轻松实现浏览器 ui 自动化。

例子:

browser.Button(Find.ByName("<buttonname>")).Click();

【讨论】:

    【解决方案3】:

    或者,您可以使用 ClientScriptManager.RegisterStartupScript() 从代码隐藏调用客户端脚本。

    【讨论】:

    • 如何使用它来触发由按钮类名触发的函数?即按钮类名是 OSX,然后触发 jQuery
    猜你喜欢
    • 2012-06-21
    • 2012-06-25
    • 2013-10-09
    • 2017-06-17
    • 2013-05-23
    • 1970-01-01
    • 1970-01-01
    • 2014-08-08
    • 2017-06-03
    相关资源
    最近更新 更多