0

我想在每个 div 点击时显示一个弹出窗口。div 将动态创建,每个都是框。我想在弹出窗口中显示一些数据库值。我使用隐藏字段(获取 id)作为 sql 数据源中的控制参数.为了从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;

            }

        }
4

2 回答 2

2

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

您可以轻松地UpdatePanel为部分回帖添加一个。或者,更好的是,使用jQuery等 javascript 框架。

于 2012-05-22T13:28:00.820 回答
0

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

于 2012-05-22T13:53:22.933 回答