【发布时间】:2012-09-12 11:49:12
【问题描述】:
我目前正在开发的这个网站有问题。我试图在外部 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()方法使用来自 .aspx.cs 页面的btnRefresh_Click事件。
我只是为此目的使用了该按钮,因为我不知道我还有什么其他选项。
现在我的问题是这个。我的代码能够从 .aspx 页面声明我的 btn 变量。当它在外部 .js 文件中执行时,我的 btn 变量如下所示:
编译器通过btn.click() 行,该行应该从代码隐藏中触发btnRefresh_Click 事件。但是,它不会启动。
我在这里遗漏了什么吗?请帮我。我已经被困在这里好几个小时了。
【问题讨论】:
-
当您在 aspx 页面中初始设置 Visible = "True" 时是否有效?
-
是的,当我单击按钮时它会起作用。但是,我希望在不单击按钮的情况下刷新我的网格视图。
标签: javascript asp.net button onclick