Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/35.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ASP.NET中的动态面包屑_C#_Asp.net - Fatal编程技术网

C# ASP.NET中的动态面包屑

C# ASP.NET中的动态面包屑,c#,asp.net,C#,Asp.net,我有一个关于面包屑导航的问题。 在我的应用程序中,我有一个Start.aspx,其中我为下一个模块(control1.ascx、control2.ascx,…)构建了一个导航菜单,该模块应在单击后加载。 此ascx包含一个网格,其中包含一些数据行和链接按钮,用于在起始页上加载其他ascx 这是应用程序的常见工作方式 现在我需要将哪个ascx加载到面包屑中 也许我们可以像这样将其可视化: Start.aspx->control1.ascx->control1\u 1.ascx 现在,应用程序将处于

我有一个关于面包屑导航的问题。 在我的应用程序中,我有一个Start.aspx,其中我为下一个模块(control1.ascx、control2.ascx,…)构建了一个导航菜单,该模块应在单击后加载。 此ascx包含一个网格,其中包含一些数据行和链接按钮,用于在起始页上加载其他ascx 这是应用程序的常见工作方式

现在我需要将哪个ascx加载到面包屑中 也许我们可以像这样将其可视化:

Start.aspx->control1.ascx->control1\u 1.ascx

现在,应用程序将处于最低级别,如果我单击“control1.ascx”,则应再次加载此控件,或者如果我选择Start.aspx,则应加载“Home”

protected override void Render(HtmlTextWriter output)
    {

        NavigationDataTable moduleNameList = new NavigationDataTable();
        List<usp_GetNavigationElements_Result> ModuleList = moduleNameList.GetModulesList(1, LoggedInUser);
        StringBuilder sbResult1 = new StringBuilder();
        //string sbResult;



        if (Page.Items["title"] != null)
        {
            string id = Page.Items["title"].ToString();
            PageTitle = Page.Items["title"].ToString();
        }

        //------------------------------------------------------------------------------------------

        var request = HttpContext.Current.Request;
        System.Collections.Specialized.NameValueCollection coll;
        // Load ServerVariable collection into NameValueCollection object.
        coll = request.ServerVariables;            
        string serverName = request.ServerVariables["SERVER_NAME"];

        //------------------------------------------------------------------------------------------

        string strDomain = "";
        if (serverName == "localhost")
        {
            //Lokal
            strDomain = "localhost:49573";
        }
        else
        {
            //Intranet
            strDomain = "i";
        }

        string strURL = "/Start.aspx";
        string strDirs = "control1.ascx";

        Separator3 = new Image();            

        Separator3.Height = 52;
        Separator3.Width = 52;

        ArrowSeparator = new Image();
        ArrowSeparator.ImageUrl = "/img/mb_arrow_separator.png";

        HomeSymbol = new Image();
        HomeSymbol.ImageUrl = "/img/mb_home.png";


        // Home-Navigation for Start           
        sbResult1.Append("<img src='" + HomeSymbol.ImageUrl + "'>");            
        sbResult1.Append("<a href='http://" + strDomain + "/modules" + strURL + "'style='text-decoration:none;'>" + RootName + "&nbsp;" + "</a>");
        sbResult1.Append("<img src='" + ArrowSeparator.ImageUrl + "' hspace='10'>");

        //-------------------------------------------------------------------------------------------------------------------------------

        foreach (var item in ModuleList)
        {
            if (HttpContext.Current.Session["ModuleTitle"] != null)
            {                   
                if (item.ModuleTitle == HttpContext.Current.Session["ModuleTitle"].ToString() )
                {
                    //sbResult1.Append("<a href='http://" + strDomain + "/modules" + strURL + "?" + item.ModuleName + "'>" + item.ModuleTitle + "</a>" + Separator);

                    Separator3.ImageUrl = "/img/" + HttpContext.Current.Session["ModuleTitle"].ToString() + ".png";
                    sbResult1.Append("<img src='" + Separator3.ImageUrl + " 'hspace='10'>");
                    sbResult1.Append(HttpContext.Current.Session["ModuleTitle"]).ToString();
                }                               
            }
        }
        if (!ModuleList.Contains(HttpContext.Current.Session["ModuleTitle"]))
        {

            if (HttpContext.Current.Session["ModuleTitle"] != null)
            {
                if (HttpContext.Current.Session["ModuleTitle"].ToString().Contains("_"))//|| HttpContext.Current.Session["ModuleSubTitle"] != null)
                {
                    string[] std = HttpContext.Current.Session["ModuleTitle"].ToString().Split('_');

                    Separator3.ImageUrl = "/img/" + std[0] + ".png";
                    sbResult1.Append("<img src='" + Separator3.ImageUrl + "' hspace='10'>");
                    sbResult1.Append("<a href='http://" + strDomain + "/modules" + strURL + "?" + std[0] + "'style='text-decoration:none;'>" + std[0] + "&nbsp;" + "</a>");
                    sbResult1.Append("<img src='" + ArrowSeparator.ImageUrl + "' hspace='10'>");

                    sbResult1.Append("<img src='/img/Prozess.png' hspace='10'>");

                    sbResult1.Append(std[1]);

                }

            }
        }

        //-------------------------------------------------------------------------------------------------------------------------------            

        output.Write(sbResult1.ToString());
    }
受保护的覆盖无效渲染(HtmlTextWriter输出)
{
NavigationDataTable moduleNameList=新的NavigationDataTable();
List ModuleList=moduleNameList.GetModuleList(1,LoggedInUser);
StringBuilder sbResult1=新的StringBuilder();
//字符串sbResult;
如果(第页项目[“标题”]!=null)
{
字符串id=Page.Items[“title”].ToString();
PageTitle=Page.Items[“title”].ToString();
}
//------------------------------------------------------------------------------------------
var request=HttpContext.Current.request;
System.Collections.Specialized.NameValueCollection coll;
//将ServerVariable集合加载到NameValueCollection对象中。
coll=request.ServerVariables;
字符串serverName=request.ServerVariables[“服务器名称”];
//------------------------------------------------------------------------------------------
字符串strDomain=“”;
如果(服务器名=“本地主机”)
{
//洛卡尔
strDomain=“localhost:49573”;
}
其他的
{
//内部网
strDomain=“i”;
}
字符串strURL=“/Start.aspx”;
字符串strDirs=“control1.ascx”;
分离器3=新图像();
分离器3.高度=52;
分离器3.宽度=52;
箭头分隔符=新图像();
arrowselector.ImageUrl=“/img/mb_arrow_separator.png”;
HomeSymbol=新图像();
HomeSymbol.ImageUrl=“/img/mb_home.png”;
//开始时的主页导航
sbResult1.追加(“”);
sbResult1.追加(“”);
sbResult1.追加(“”);
//-------------------------------------------------------------------------------------------------------------------------------
foreach(模块列表中的变量项)
{
if(HttpContext.Current.Session[“ModuleTitle”]!=null)
{                   
if(item.ModuleTitle==HttpContext.Current.Session[“ModuleTitle”].ToString())
{
//sbResult1.追加(“+”分隔符);
Separator3.ImageUrl=“/img/”+HttpContext.Current.Session[“ModuleTitle”].ToString()+“.png”;
sbResult1.追加(“”);
sbResult1.Append(HttpContext.Current.Session[“ModuleTitle”]).ToString();
}                               
}
}
如果(!ModuleList.Contains(HttpContext.Current.Session[“ModuleTitle”]))
{
if(HttpContext.Current.Session[“ModuleTitle”]!=null)
{
if(HttpContext.Current.Session[“ModuleTitle”].ToString()包含(“”)/| | HttpContext.Current.Session[“ModuleSubTitle”]!=null)
{
string[]std=HttpContext.Current.Session[“ModuleTitle”].ToString().Split(“”“);
Separator3.ImageUrl=“/img/”+std[0]+“.png”;
sbResult1.追加(“”);
sbResult1.追加(“”);
sbResult1.追加(“”);
sbResult1.追加(“”);
sbResult1.追加(标准[1]);
}
}
}
//-------------------------------------------------------------------------------------------------------------------------------            
output.Write(sbResult1.ToString());
}
我是否必须制作这个Breadcrumb.cs并覆盖Render(),或者有更好的方法


欢迎DarkGecko

您考虑过站点地图路径吗

<asp:SiteMapPath ID="SiteMapPath1" Runat="server"></asp:SiteMapPath>