如何在执行回发时防止页面刷新

本文关键字:刷新 执行 | 更新日期: 2023-09-27 18:34:53

我想在每次单击div时显示一个弹出窗口。div 将动态创建,每个div 都是框。我想在我的弹出窗口中显示一些数据库值。我在sql数据源中使用隐藏字段(获取id(作为控制参数。为了从 c# 获取每次单击时的隐藏字段值,我在弹出插件的 javascript 中使用了一些_dopostback。这会导致每次刷新时页面加载,因此我无法在每次单击时在弹出窗口中显示正确的值。如何避免页面刷新?我的JavaScript代码:

在弹出函数中我调用

__doPostBack('TestFunctionPostBack', comp_id);

页面加载中的 C# 代码

 this.GetPostBackEventReference(this, string.Empty);
        if (this.IsPostBack)
        {
            string eventTarget = (this.Request["__EVENTTARGET"] == null) ? string.Empty : this.Request["__EVENTTARGET"];
            string eventArgument = (this.Request["__EVENTARGUMENT"] == null) ? string.Empty : this.Request["__EVENTARGUMENT"];
            if (eventTarget == "TestFunctionPostBack")
            {               
                HiddenField1.Value = eventArgument;
            }
        }

如何在执行回发时防止页面刷新

可以使用 AJAX 来避免整页回发。

您可以轻松地为部分回发添加UpdatePanel。或者,更好的是,使用像jQuery这样的javascript框架。

使用 Ajax 调用服务器端方法,然后在 UI 上呈现内容请看以下示例 http://weblogs.asp.net/craigshoemaker/archive/2008/09/29/using-jquery-to-call-asp-net-ajax-page-methods.aspx