私のWebアプリ(ASP.NETで記述)はMasterPagesでレイアウトされています。マスターページのコンテンツ領域にあるのは、ページを表示する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;
}
}