javascript - ASP :Button Click Event doesn't fire

标签 javascript asp.net button onclick

我当前正在开发的网站遇到问题。我试图在外部 js 文件中的一系列代码之后触发按钮的 Click 事件。请参阅下面我的代码:

.ASPX:

<script type="text/javascript">
    var btn = $("#<%=btnRefresh.ClientID%>");
</script>

...

<asp:Button ID="btnRefresh" name="btnRefresh" runat="server" Visible="false" Text="btnRefresh" onclick="btnRefresh_Click" />

<asp:UpdatePanel ID="UpdatePanel1" UpdateMode="Conditional" runat="server">
    <asp:GridView ID="myGrd" runat="server">...</GridView>
    <Triggers>
       <asp:AsyncPostBackTrigger ControlID="btnRefresh" EventName="Click" />
    </Triggers>
<asp:UpdatePanel>

.ASPX.CS:

protected void btnRefresh_Click(object sender, EventArgs e)
{
    myGrd.DataSource = null;
    myGrd.DataSource = GetData();
    myGrd.DataBind();
}

.JS:

function Refresh() {
    if (btn) {
        btn.click();
    }
    else {
        alert('false');
    }
}

基本上,我想要实现的是:

  1. 能够在页面上实现我的添加、编辑、删除。 (现已运行)
  2. 调用外部JS文件中的方法,显示添加、编辑、删除的弹框。
  3. 成功后,调用 Refresh() 方法并仅刷新 gridview。
  4. Refresh() 方法使用 .aspx.cs 页面中的 btnRefresh_Click 事件。

我只是将按钮用于此目的,因为我不知道还有哪些其他选项。

现在我的问题是这样的。我的代码能够从 .aspx 页面声明我的 btn 变量。当它在外部 .js 文件中执行时,我的 btn 变量如下所示:

enter image description here

编译器会执行 btn.click() 行,该行应该从代码隐藏中触发 btnRefresh_Click 事件。但是,它没有启动。

我在这里遗漏了什么吗?请帮我。我已经被困在这里几个小时了。

最佳答案

您是否尝试过在需要时以及文档完全加载后查找 btn 对象,而不是在文档完全加载之前获取它?

改变:

<script type="text/javascript">
    var btn = $("#<%=btnRefresh.ClientID%>");
</script>

<script type="text/javascript">
    var btnid = "#<%=btnRefresh.ClientID%>";
</script>

和你的js:

   function Refresh() {
     var btn  = $(btnid);
        if (btn) {
            btn.click();
        }
        else {
            alert('false');
        }
    }

关于javascript - ASP :Button Click Event doesn't fire,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12507087/

相关文章:

javascript - 可以使用 Popcorn.js 为 YouTube 视频添加字幕吗?

Javascript 变量超出范围/null?

asp.net - css 不在回发时加载

c# - ASP.Net:多次调用 Page_Load()

javascript - rails : Using JQuery for post request instead of link_to

javascript - 插入mongodb中的一系列文件

asp.net - 选择 Azure 服务

jquery - 当至少选中两个复选框时显示 div

html - 全宽( block )按钮不会在 IE 中显示样式

r - 如何重置几个actionButtons的值? ( Shiny 包)