我有一个令人不安的任务。我有一个包含在外框架中的页面,在外框架上是一个用户控件,我需要使用包含页面内的一些数据填充它。问题是在我获得所需数据之前渲染了外框。我怎样才能做到这一点?
2 回答
0
难道你不能Populate
在你的用户控件中创建一个公共子控件,并在加载所需数据时从外框调用它吗?Populate
会将数据作为参数并使用此数据填充控件。
于 2010-01-21T20:02:41.650 回答
0
我会使用 JavaScript 来实现这一点。您可以在父页面的 JavaScript 中使用您想要的任何签名放置一个 Populate 方法。
function PopulateControls(param1, param2, param3)
{
document.getElementById('<%=this.Control1.ClientID%>');.value = param1;
document.getElementById('<%=this.Control2.ClientID%>');.value = param2;
document.getElementById('<%=this.Control3.ClientID%>');.value = param3;
}
然后在子框架中,确保页面有一个内置的 JavaScript 来传递它。
window.onload=SendToParent;
function SendToParent()
{
window.opener.PopulateControls('<%=this.Field1.ClientID%>','<%=this.Field2.ClientID%>',<%=this.Field3.ClientID%>');
}
您可能需要调整上面的代码,但要点是父页面控件最终会等到子页面完全加载后再完成。如果你想使用标签之类的,你可以在 div 上使用 InnerHTML 属性。
于 2010-01-24T17:40:10.300 回答