我目前正在开发的这个网站有问题。我试图在外部 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');
}
}
基本上,我想要实现的是:
- 能够在页面上实现我的添加、编辑、删除。(现在运行)
- 调用外部 JS 文件中的方法以显示添加、编辑、删除的弹出框。
- 成功后,调用该
Refresh()
方法并仅刷新 gridview。 Refresh()
方法使用btnRefresh_Click
来自 .aspx.cs 页面的事件。
我只是为此目的使用了该按钮,因为我不知道我还有什么其他选择。
现在我的问题是这个。我的代码能够btn
从 .aspx 页面声明我的变量。当它在外部 .js 文件中执行时,我的btn
变量如下所示:
编译器通过btn.click()
应该btnRefresh_Click
从代码隐藏触发事件的行。然而,它并没有火起来。
我在这里错过了什么吗?请帮我。我已经被困在这里好几个小时了。