阻止ASP.NET中的按钮刷新页面

时间:2013-07-15 09:18:02

标签: javascript asp.net jquery gridview

我正在尝试在GridView对话框上显示jquery。要将数据绑定到gridview,我点击按钮jquery,如下所示。

$('#' + '<%= btnBindGridViewData.ClientID %>').trigger("click");

但是点击此按钮,页面就会刷新。所以jquery对话框正在消失。

按钮

<asp:Button runat="server" ID="btnBindGridViewData" OnClick="btnBindGridViewData_Click" Style="visibility: hidden;
    display: none;" />

代码背后

protected void btnBindGridViewData_Click(object sender, EventArgs e)
{
    //bind data into gridview from here
}

通过jquery,点击按钮,如下所示。

$('#' + '<%= btnBindGridViewData.ClientID %>').trigger("click");

以上代码触发click按钮事件并执行btnBindGridViewData_Click()并将数据绑定到gridview

有没有办法通过点击按钮来阻止页面刷新并在gridview对话框上显示jquery

2 个答案:

答案 0 :(得分:0)

这不起作用。

你已经在代码隐藏文件中编写了绑定gridview的逻辑。为了执行代码隐藏文件,页面需要刷新(回发)

您可以停止按钮刷新页面(onclick = "return false;"),但这不会在服务器上执行您的点击事件。你需要重新思考你的方法。

在jQuery对话框上运行gridview的一种方法是你可以在页面上设置一个隐藏变量(表示单击该按钮)然后在文档就绪中你可以打开jQuery对话框。

$(document).ready(function(){
  // if flag == true, open dialog
});

注意:我不会推荐这种方法。

答案 1 :(得分:0)

使用UpdatePanel实现,如下所示。

<asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
  <Triggers>
    <asp:AsyncPostBackTrigger ControlID="btnBindGridViewData" EventName="Click" />
  </Triggers>
  <ContentTemplate>
      //GridView here
  </ContentTemplate>
</asp:UpdatePanel>