我正在尝试在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
?
答案 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>