【问题标题】:How can we set the Hidden field value before page_load fire?我们如何在 page_load 触发之前设置隐藏字段值?
【发布时间】:2013-09-17 06:21:09
【问题描述】:

我在 page_load 事件触发之前设置隐藏字段值时遇到问题。我有一个 parentPage,其中将使用 window.open(...) 打开一个子窗口。我能够访问给定的 parentPage Hiddenfield 值下面

window.opener.document.getElementById('hdParent').value

我试图在 page_Load 之前将此值设置为子页面隐藏字段,但它没有发生。我编写了一个 javascript 方法“setHiddenField();”并在

中调用此方法
 $(document).ready(function(){
       setHiddenField();
    });

但这并没有发生。谁能告诉我们如何做到这一点?

【问题讨论】:

    标签: javascript jquery asp.net hidden-field


    【解决方案1】:

    你不能这样做。 aspPageLoad 事件总是发生在jQuery.ready 函数之前。 页面加载事件在服务器呈现页面时发生,jQuery.ready() 函数仅在此之后执行。即,当渲染的页面加载到浏览器中时。

    如果您想将任何此类值传递到服务器端,我会推荐queryStrings

    【讨论】:

    • 感谢您的建议。我会尝试这种方式,但是在页面生命周期中是否有机会处理?
    • 我认为,不。当您请求新页面(window.open)时,asp 将在完成所有页面周期后呈现页面。 page_load 事件此时发生。然后,当页面加载到浏览器时,您正在设置隐藏字段值。即在 page_load 事件完成后。
    【解决方案2】:

    编写一个公共方法,在子控件的页面加载中设置 HiddenField 的值,并在父控件的页面加载中调用该方法。父页面加载将在子页面加载之前调用。

    在子控件代码后面写一个方法,如下所示

    public void setHiddenField()
    {
      // set the child page hidden field value here
    }
    

    然后在父页面加载中调用上述方法。

    protected void Page_Load(object sender, EventArgs e)
    {
            childcontrol.setHiddenField();
    }
    

    希望对你有帮助,如果没有请告诉我。

    【讨论】:

      猜你喜欢
      • 2011-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-28
      • 2019-03-23
      • 2013-07-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多