1

我正在尝试GridViewjquery对话框中显示。要将数据绑定到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.

有什么方法可以防止通过单击按钮并gridviewjquery对话框上显示来刷新页面?

4

2 回答 2

0

这行不通。

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

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

在 jQuery 对话框上运行 gridview 的一种方法是,您可以在页面上设置一个隐藏变量(以指示单击了按钮),然后在文档准备就绪时,您可以打开 jQuery 对话框。

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

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

于 2013-07-15T10:23:42.260 回答
0

使用UpdatePanel 如下实现。

<asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
  <Triggers>
    <asp:AsyncPostBackTrigger ControlID="btnBindGridViewData" EventName="Click" />
  </Triggers>
  <ContentTemplate>
      //GridView here
  </ContentTemplate>
</asp:UpdatePanel>
于 2013-07-16T09:46:27.860 回答