0

我的 webapp(用 ASP.NET 编写)使用 MasterPages 进行布局。在 Masterpage 的内容区域中,这是我显示页面的 iframe。在导航单击时,我简单地将 ContentUrl(在 contentplaceholder 内)设置为新的 url,它会刷新内容区域。

这是执行此操作的方法:

Protected Sub radprojecttree_NodeClick(sender As Object, e As Telerik.Web.UI.RadTreeNodeEventArgs) Handles radprojecttree.NodeClick
    Dim ts As String = e.Node.Attributes("contentpage")
    radpancontentholder.ContentUrl = ts
    If (Not SiteUser Is Nothing) Then
        BSRMaster.navtree.NavTree_InitNodes(Nothing, e.Node)
    End If
End Sub

但我还需要在特定时间在 javascript 中设置 ContentUrl 并显示页面。但是,当我设置 ContentUrl 时,页面不显示。如何在 javascript 中刷新 contentplaceholder?

到目前为止,这是我为 javascript 编写的代码:

function goToPage(){
    var strLoc = "";

    switch (AutoExpandOption) {
        case "RestoreLastNode" :
            strLoc = readCookie(strUser + 'LastPageLocation');
            if ((typeof(strLoc) == "undefined") || (strLoc == null)) {
                strLoc = 'Secure/TaskManager.aspx';
                createCookie(strUser + 'LastPageLocation', 'TaskManager.aspx', 100);
            } 
            break;

        case "GoToTaskManager" :
            strLoc = 'Secure/TaskManager.aspx';
            break;

        case "GoToDashboard" :
            strLoc = 'Secure/Dashboards.aspx';
            break;

    }
    if (strLoc != "") {
        var ph = $find('ctl00_radpancontentholder');
        ph._contentUrl = strLoc;
        //document.getElementById('pagecontentframe').src = strLoc;
    }
}
4

1 回答 1

0

$find 在页面完全加载之前被调用,因此没有控件存在

于 2012-07-17T07:34:39.140 回答