content.aspx = side hvor updatepanels er.
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Content.aspx.cs" Inherits="Content" %>
<html xmlns="
http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<link href="StyleSheet/TreeMenu.css" rel="stylesheet" type="text/css" />
<link href="StyleSheet/ContextMenu.css" rel="stylesheet" type="text/css" />
<link href="StyleSheet/Site.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="JavaScript/ContextMenu.js"></script>
<script type="text/javascript" src="JavaScript/ContextMenuIE.js"></script>
<script type="text/javascript" src="JavaScript/treeMenu.js"></script>
<script type="text/javascript">
function postBackTreeMenu(strTreeMenu) {
var hiddenField = $get("<%=HiddenFieldToUpdateTreeMenu.ClientID %>");
if (hiddenField) {
hiddenField.value = strTreeMenu;
__doPostBack("<%=HiddenFieldToUpdateTreeMenu.ClientID %>",'');
}
}
function postBackIndhold(side,id) {
var hiddenField = $get("<%=HiddenFieldToUpdateIndhold.ClientID %>");
if (hiddenField) {
hiddenField.value = side + ";" + id;
__doPostBack("<%=HiddenFieldToUpdateIndhold.ClientID %>",'');
}
}
function ShowIndhold(){
sideId = getSideId();
postBackIndhold('RedigerSide.ascx',sideId)
}
</script>
</head>
<body>
<!---Her er en masse div til en javascript højreklik-->
<form id="form1" runat="server">
<asp:ScriptManager ID="ScriptManager1" runat="server" />
<div id="siteContainer">
<table id="siteBanner" cellpadding="0" cellspacing="0"><tr><td><b>C</b>ontent<b>M</b>anagement<b>S</b>ystem</td></tr></table>
<table id="tblCointainer" cellspacing="0" cellpadding="0">
<tr>
<td style="width: 250px;">
<table cellpadding="0" cellspacing="0" id="siteMenu">
<tr>
<td>
<asp:UpdateProgress ID="UpdateProgress1" runat="server" AssociatedUpdatePanelID="upTreeMenu">
<ProgressTemplate>
<div style="width: 240px;; height: 640px; z-index: 2; position:absolute; text-align: center;font-family: Tahoma;"><img src="Images/Site/Load.gif" alt="" height="100" style="margin-top: 190px" /><br />Vent venligst...</div>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="upTreeMenu" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="menuHeadline" CssClass="headline" Text="" runat="server" />
<asp:HiddenField ID="HiddenFieldToUpdateTreeMenu" runat="server" />
<asp:Label ID="lblTreeMenu" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
</table>
</td>
<td>
<table id="siteIndhold" cellpadding="0" cellspacing="0">
<tr>
<td style="overflow:scroll;">
<asp:UpdateProgress ID="UpdateProgress2" runat="server" AssociatedUpdatePanelID="upIndhold">
<ProgressTemplate>
<div style="width: 600px;; height: 640px; z-index: 2; position:absolute; text-align: center;font-family: Tahoma;"><img src="Images/Site/Load.gif" alt="" height="100" style="margin-top: 190px" /><br />Vent venligst...</div>
</ProgressTemplate>
</asp:UpdateProgress>
<asp:UpdatePanel ID="upIndhold" runat="server" UpdateMode="Conditional" >
<ContentTemplate>
<asp:PlaceHolder ID="phInholder" runat="server"></asp:PlaceHolder>
<asp:HiddenField ID="HiddenFieldToUpdateIndhold" runat="server" Value="Default.ascx;0" />
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
</table>
</td>
</tr>
</table>
</div>
</form>
</body>
</html>
COntent.aspx.cs
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using CMS.Treemenu;
using System.Resources;
using CMS;
public partial class Content : CMS.Web.CodeBase
{
protected override string PermissionName { get { return "Administrator"; } }
protected void Page_Load(object sender, EventArgs e)
{
//System.Threading.Thread.Sleep(2000);
string strTreeMenu = HiddenFieldToUpdateTreeMenu.Value;
if (strTreeMenu == "")
{
strTreeMenu = "TreeMenu";
}
if (strTreeMenu == "TreeMenu")
{
menuHeadline.Text = "Indhold";
lblTreeMenu.Text = TreeMenu.WriteTreeMenu("TreeMenu", "Web-integrator", "Images/TreeMenu/node.gif");
}else if (strTreeMenu == "Users")
{
menuHeadline.Text = "Bruger Liste";
lblTreeMenu.Text = TreeMenu.WriteTreeMenu("TreeMenu", "Liste med brugere!", "Images/TreeMenu/node.gif");
}
else
{
menuHeadline.Text = "Fejl";
lblTreeMenu.Text = "Menuen du trykkede ind på findes ikke!";
}
if (!string.IsNullOrEmpty(HiddenFieldToUpdateIndhold.Value))
{
string[] strIndhold = HiddenFieldToUpdateIndhold.Value.Split(';');
if (!string.IsNullOrEmpty(strIndhold[1]) && strIndhold[1] != "0")
{
Context.Items.Add("sideId", strIndhold[1]);
}
LoadIndhold(strIndhold[0]);
}
}
private void LoadIndhold(string userContol)
{
// til tjek af rettigheder, om brugeren må loade usercontrollen
string[] userControls = new string[2];
userControls[0] = "Default.ascx;Administrator";
userControls[1] = "RedigerSide.ascx;SideEdit";
Boolean boolPermission = false;
string userControlURL = userContol;
for (int i = 0; i < userControls.Length; i++)
{
string[] userControlsTjek = userControls[i].Split(';');
if (userControlsTjek[0] == userControlURL)
{
boolPermission = CMS.Users.User.hasPermission(userControlsTjek[1], User.UserId);
break;
}
}
if (!boolPermission)
{
userContol = "Beskyttet.ascx";
}
if (!string.IsNullOrEmpty(userContol))
{
phInholder.Controls.Clear();
UserControl uc = (UserControl)LoadControl(CMS.CMS._cmsPath + "WebUserControls/" + userContol);
phInholder.Controls.Add(uc);
uc.ID = userContol;
if (userContol == "RedigerSide.ascx")
{
((WebUserControls_RedigerSide)uc).SomethingChanged += new WebUserControls_RedigerSide.CustomerEventHandler(MySomethingChanged);
}
}
}
protected void MySomethingChanged(EventArgs e)
{
upIndhold.Update();
}
}
Regiger side.ascx
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="RedigerSide.ascx.cs" Inherits="WebUserControls_RedigerSide" %>
<asp:Label ID="lblEdit" CssClass="headline" Text="Rediger" runat="server" />
<asp:Panel ID="panelEdit" runat="server">
Overskrift:
<asp:TextBox ID="txtHeadline" runat="server"></asp:TextBox><br />
Tekst:<br /><asp:TextBox ID="txtText" runat="server"></asp:TextBox><br />
<asp:Button ID="btnOK" runat="server" Text="Gem ændringer" /> <asp:Button ID= "btnCanel" runat="server" Text="Anullér" /></asp:Panel>
<asp:Label ID="lblError" runat="server" Visible="false" />
rediger.ascx.cs
using System;
using CMS.SideEdit;
using System.Web.UI.WebControls;
public partial class WebUserControls_RedigerSide : System.Web.UI.UserControl
{
public delegate void CustomerEventHandler(EventArgs e);
public event CustomerEventHandler SomethingChanged;
protected void Page_Load(object sender, EventArgs e)
{
propSide propSide = facSide.GetSide(Convert.ToInt32(Context.Items["sideId"]));
if (propSide != null)
{
txtHeadline.Text = propSide.Navn;
txtText.Text = propSide.Tekst;
if (SomethingChanged != null)
{
SomethingChanged(new EventArgs());
}
}
}
}
Håber det giver dig en ide.