mathieu_cupryk
asked on
Compile errors.
Error 2 'System.Web.SessionState.H ttpSession State' does not contain a definition for 'Item' and no extension method 'Item' accepting a first argument of type 'System.Web.SessionState.H ttpSession State' could be found (are you missing a using directive or an assembly reference?) D:\inetpub\wwwroot\OmegaLo ve\Control s\ctrlBrea dCrumb.asc x.cs 102 29 OmegaLove
-------------------------- ---------- ---------- ---------- ---------- ---------- ---------
private void RemoveLowerLevelCrumbs()
{
short level = 0;
ArrayList removalList = new ArrayList(_crumbList.Count );
foreach (var level in _crumbList.Keys)
{
if ((level >= _level))
{
removalList.Add(level);
}
}
//Now remove all keys in the list
foreach (var level in removalList)
{
_crumbList.Remove(level);
}
}
Error 7 A local variable named 'level' cannot be declared in this scope because it would give a different meaning to 'level', which is already used in a 'parent or current' scope to denote something else D:\inetpub\wwwroot\OmegaLo ve\Control s\ctrlBrea dCrumb.asc x.cs 154 26 OmegaLove
Error 8 Operator '>=' cannot be applied to operands of type 'object' and 'short' D:\inetpub\wwwroot\OmegaLo ve\Control s\ctrlBrea dCrumb.asc x.cs 156 22 OmegaLove
//Check our Crumb is there in the session...if not create and add it...else get it
if (Session.Item["HASH_OF_CRU MPS"] == null)
{
_crumbList = new SortedList();
Session.Add("HASH_OF_CRUMP S", _crumbList);
}
else
{
_crumbList = Session.Item("HASH_OF_CRUM PS");
}
--------------------------
private void RemoveLowerLevelCrumbs()
{
short level = 0;
ArrayList removalList = new ArrayList(_crumbList.Count
foreach (var level in _crumbList.Keys)
{
if ((level >= _level))
{
removalList.Add(level);
}
}
//Now remove all keys in the list
foreach (var level in removalList)
{
_crumbList.Remove(level);
}
}
Error 7 A local variable named 'level' cannot be declared in this scope because it would give a different meaning to 'level', which is already used in a 'parent or current' scope to denote something else D:\inetpub\wwwroot\OmegaLo
Error 8 Operator '>=' cannot be applied to operands of type 'object' and 'short' D:\inetpub\wwwroot\OmegaLo
//Check our Crumb is there in the session...if not create and add it...else get it
if (Session.Item["HASH_OF_CRU
{
_crumbList = new SortedList();
Session.Add("HASH_OF_CRUMP
}
else
{
_crumbList = Session.Item("HASH_OF_CRUM
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Error 7 A local variable named 'level' cannot be declared in this scope because it would give a different meaning to 'level', which is already used in a 'parent or current' scope to denote something else D:\inetpub\wwwroot\OmegaLo ve\Control s\ctrlBrea dCrumb.asc x.cs 154 26 OmegaLove
This is due to declaring "level" variable to times...:
1 here ---> short level = 0;
ArrayList removalList = new ArrayList(_crumbList.Count );
2 here---> foreach (var level in _crumbList.Keys)
{
So change either of the variable name eg. level1 and level2
This is due to declaring "level" variable to times...:
1 here ---> short level = 0;
ArrayList removalList = new ArrayList(_crumbList.Count
2 here---> foreach (var level in _crumbList.Keys)
{
So change either of the variable name eg. level1 and level2
Error 8 Operator '>=' cannot be applied to operands of type 'object' and 'short' D:\inetpub\wwwroot\OmegaLo ve\Control s\ctrlBrea dCrumb.asc x.cs 156 22 OmegaLove
That is due to type mismatch :
-----> foreach (var level in _crumbList.Keys)
{
if ((level >= _level))
_level is short while level is object
So try like this:
foreach (short level in _crumbList.Keys)
{
if ((level >= _level))
That is due to type mismatch :
-----> foreach (var level in _crumbList.Keys)
{
if ((level >= _level))
_level is short while level is object
So try like this:
foreach (short level in _crumbList.Keys)
{
if ((level >= _level))
ASKER
Error 2 A local variable named 'level' cannot be declared in this scope because it would give a different meaning to 'level', which is already used in a 'parent or current' scope to denote something else D:\inetpub\wwwroot\OmegaLo ve\Control s\ctrlBrea dCrumb.asc x.cs 166 28 OmegaLove
using System;
using System.Collections;
using System.Collections.Special ized;
using System.Data;
using System.Globalization;
using System.Diagnostics;
using System.Collections.ObjectM odel;
using System.IO;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.SessionState;
using System.ComponentModel;
namespace OmegaLove.Web.UI
{
public partial class ctrlBreadCrumb : OmegaLoveBasePageUserContr ol
{
public struct PageCrumb
{
private short _level;
private string _url;
private string _linkName;
public PageCrumb(short level, string url, string linkName)
{
_level = level;
_url = url;
_linkName = linkName;
}
public short Level
{
get { return _level; }
}
public string Url
{
get { return _url; }
}
public string LinkName
{
get { return _linkName; }
}
}
protected System.Web.UI.WebControls. Label lblTrail;
//NOTE: The following placeholder declaration is required by the Web Form Designer.
//Do not delete or move it.
private System.Object designerPlaceholderDeclara tion;
//Variable holding the Link name of the page
private string _tailName;
//Variable holding the level of the page
private short _level;
//The pagecrumb object of the current page
private PageCrumb _pageCrumb = new PageCrumb();
//We will use a sorted list as we can use the level as key
private SortedList _crumbList;
//Each page has a level. The page should declare its level
public short Level {
// TO DO : We can check for some constraints here
get { return _level; }
set { _level = value; }
}
//Each page needs a meaningful name of it. Let them declare it
public string TailName {
// TO DO : We can check for some constraints here
get { return _tailName; }
set { _tailName = value; }
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!(Page.IsPostBack))
{
//Minimum level is 1
if ((_level <= 0))
{
_level = 1;
}
//If no friendly name gives Untitled as default
if ((string.IsNullOrEmpty(_ta ilName)))
{
_tailName = "Untitled";
}
//Create a Crumb object based on the properties of this page
_pageCrumb = new PageCrumb(_level, Request.RawUrl, _tailName);
//Now modify the List of the breadcrumb
ModifyList();
// Put the breadcrumb from the session of sortlist
PutBreadCrumbs();
}
}
private void ModifyList()
{
//Remove all Entries from the list which is higher or equal in level
//Because at a level there can be max 1 entry in the list
RemoveLowerLevelCrumbs();
//If level is 1 set the Crumb as home
if (_pageCrumb.Level == 1)
{
_crumbList.Clear();
_crumbList.Add((short)1, new PageCrumb(1, "/Home.aspx", "Home"));
}
else
{
//If nothing in the list adds the home link first
if (_crumbList.Count == 0)
{
_crumbList.Add((short)1, new PageCrumb(1, "/Home.aspx", "Home"));
}
//Now add the present list also no other check is required here as we have cleaned up the
//List at the start of the function
_crumbList.Add(_level, _pageCrumb);
}
}
//Function will remove all the entries from the list which is higher or equal to the
//present level
private void RemoveLowerLevelCrumbs()
{
short level = 0;
ArrayList removalList = new ArrayList(_crumbList.Count );
foreach (short level in _crumbList.Keys)
{
if ((level >= _level))
{
removalList.Add(level);
}
}
//Now remove all keys in the list
foreach (short level in removalList)
{
_crumbList.Remove(level);
}
}
private void PutBreadCrumbs()
{
StringBuilder linkString = new StringBuilder();
PageCrumb pageCrumb = new PageCrumb();
int index = 0;
for (index = 0; index <= _crumbList.Count - 2; index++)
{
pageCrumb = (PageCrumb)_crumbList.GetB yIndex(ind ex);
linkString.Append(string.F ormat("<a href = {0} >{1} </a>", pageCrumb.Url, pageCrumb.LinkName));
linkString.Append(" > ");
}
//Add the tail also
pageCrumb = (PageCrumb)_crumbList.GetB yIndex(ind ex);
linkString.Append(pageCrum b.LinkName );
lblTrail.Text = linkString.ToString();
}
}
}
using System;
using System.Collections;
using System.Collections.Special
using System.Data;
using System.Globalization;
using System.Diagnostics;
using System.Collections.ObjectM
using System.IO;
using System.Text;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.SessionState;
using System.ComponentModel;
namespace OmegaLove.Web.UI
{
public partial class ctrlBreadCrumb : OmegaLoveBasePageUserContr
{
public struct PageCrumb
{
private short _level;
private string _url;
private string _linkName;
public PageCrumb(short level, string url, string linkName)
{
_level = level;
_url = url;
_linkName = linkName;
}
public short Level
{
get { return _level; }
}
public string Url
{
get { return _url; }
}
public string LinkName
{
get { return _linkName; }
}
}
protected System.Web.UI.WebControls.
//NOTE: The following placeholder declaration is required by the Web Form Designer.
//Do not delete or move it.
private System.Object designerPlaceholderDeclara
//Variable holding the Link name of the page
private string _tailName;
//Variable holding the level of the page
private short _level;
//The pagecrumb object of the current page
private PageCrumb _pageCrumb = new PageCrumb();
//We will use a sorted list as we can use the level as key
private SortedList _crumbList;
//Each page has a level. The page should declare its level
public short Level {
// TO DO : We can check for some constraints here
get { return _level; }
set { _level = value; }
}
//Each page needs a meaningful name of it. Let them declare it
public string TailName {
// TO DO : We can check for some constraints here
get { return _tailName; }
set { _tailName = value; }
}
#region Web Form Designer generated code
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
}
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!(Page.IsPostBack))
{
//Minimum level is 1
if ((_level <= 0))
{
_level = 1;
}
//If no friendly name gives Untitled as default
if ((string.IsNullOrEmpty(_ta
{
_tailName = "Untitled";
}
//Create a Crumb object based on the properties of this page
_pageCrumb = new PageCrumb(_level, Request.RawUrl, _tailName);
//Now modify the List of the breadcrumb
ModifyList();
// Put the breadcrumb from the session of sortlist
PutBreadCrumbs();
}
}
private void ModifyList()
{
//Remove all Entries from the list which is higher or equal in level
//Because at a level there can be max 1 entry in the list
RemoveLowerLevelCrumbs();
//If level is 1 set the Crumb as home
if (_pageCrumb.Level == 1)
{
_crumbList.Clear();
_crumbList.Add((short)1, new PageCrumb(1, "/Home.aspx", "Home"));
}
else
{
//If nothing in the list adds the home link first
if (_crumbList.Count == 0)
{
_crumbList.Add((short)1, new PageCrumb(1, "/Home.aspx", "Home"));
}
//Now add the present list also no other check is required here as we have cleaned up the
//List at the start of the function
_crumbList.Add(_level, _pageCrumb);
}
}
//Function will remove all the entries from the list which is higher or equal to the
//present level
private void RemoveLowerLevelCrumbs()
{
short level = 0;
ArrayList removalList = new ArrayList(_crumbList.Count
foreach (short level in _crumbList.Keys)
{
if ((level >= _level))
{
removalList.Add(level);
}
}
//Now remove all keys in the list
foreach (short level in removalList)
{
_crumbList.Remove(level);
}
}
private void PutBreadCrumbs()
{
StringBuilder linkString = new StringBuilder();
PageCrumb pageCrumb = new PageCrumb();
int index = 0;
for (index = 0; index <= _crumbList.Count - 2; index++)
{
pageCrumb = (PageCrumb)_crumbList.GetB
linkString.Append(string.F
linkString.Append(" > ");
}
//Add the tail also
pageCrumb = (PageCrumb)_crumbList.GetB
linkString.Append(pageCrum
lblTrail.Text = linkString.ToString();
}
}
}
ASKER
new question still not being solved.
ASKER
protected void Page_Load(object sender, EventArgs e)
{
if (!(Page.IsPostBack))
{
//Minimum level is 1
if ((_level <= 0))
{
_level = 1;
}
//If no friendly name gives Untitled as default
if ((string.IsNullOrEmpty(_ta
{
_tailName = "Untitled";
}
//Create a Crumb object based on the properties of this page
_pageCrumb = new PageCrumb(_level, Request.RawUrl, _tailName);
//Check our Crumb is there in the session...if not create and add it...else get it
if (Session["HASH_OF_CRUMPS"]
{
_crumbList = new SortedList();
Session.Add("HASH_OF_CRUMP
}
else
{
_crumbList = Session["HASH_OF_CRUMPS"];
}
//Now modify the List of the breadcrumb
ModifyList();
// Put the breadcrumb from the session of sortlist
PutBreadCrumbs();
}
}
private void ModifyList()
{
//Remove all Entries from the list which is higher or equal in level
//Because at a level there can be max 1 entry in the list
RemoveLowerLevelCrumbs();
//If level is 1 set the Crumb as home
if (_pageCrumb.Level == 1)
{
_crumbList.Clear();
_crumbList.Add((short)1, new PageCrumb(1, "/Home.aspx", "Home"));
}
else
{
//If nothing in the list adds the home link first
if (_crumbList.Count == 0)
{
_crumbList.Add((short)1, new PageCrumb(1, "/Home.aspx", "Home"));
}
//Now add the present list also no other check is required here as we have cleaned up the
//List at the start of the function
_crumbList.Add(_level, _pageCrumb);
}
}