链接不会在我的主页's contentPlaceHolder中打开我的页面,而是在一个新选项卡中打开

本文关键字:我的 一个 选项 新选项 contentPlaceHolder 链接 主页 | 更新日期: 2023-09-27 18:14:18

我在c#中工作,我的菜单有问题。

我的主页菜单包含两个链接(链接到主页)。aspx和Contact.aspx)和一个动态div,其中包含由c#代码生成的链接到不同的其他aspx页面。

问题是,当我点击经典链接(主页或联系人)的页面加载在我的母版页的ContentPlaceHolder,但与动态链接它打开一个新的标签在我的浏览器。

我在主页上的两个链接工作正常:

<a id="backHome'" href="Accueil.aspx">Accueil</a>
                    <br/>
                    <br/>
                    <a id="toutDev" href="Accueil.aspx">Tout développer</a> - <a id="toutRed" href="Contact.aspx">Tout réduire</a>

我的菜单是由两个执行SQL命令的函数生成的。

  Dictionary <string,string> DrawChilds(int idCategorieMere)
    {
        Dictionary<string, string> dictRep = new Dictionary<string, string>();
        SqlCommand requete = new SqlCommand();
        requete.Connection = connectionToDB;
        requete.CommandType = System.Data.CommandType.Text;
        string strReq = @"SELECT distinct Web_Categories.IDCategorie, Nom";
        strReq += " FROM Web_Categories inner join Web_Profil_Joint_Categories on Web_Categories.IDCategorie = Web_Profil_Joint_Categories.IDCategorie";
        strReq += " WHERE IDCategorieMere=@idCategoryMere AND Web_Profil_Joint_Categories.IDProfil in ({0})";
        strReq += " ORDER BY Nom ASC";
        requete.Parameters.AddWithValue("@idCategoryMere", idCategorieMere);

        string inClause = string.Join(",", userConnected.arraylistForSQL);
        requete.CommandText = string.Format(strReq, inClause);
        for (int i = 0; i < userConnected.arraylistForSQL.Length; i++)
        {
            requete.Parameters.AddWithValue(userConnected.arraylistForSQL[i], userConnected.idsProfil[i]);
        }
        using (SqlDataReader reader = requete.ExecuteReader())
        {
            while (reader.Read())
            {
                dictRep.Add(reader[0].ToString(),reader[1].ToString());
            }
        }
        return dictRep;
    }

  void DrawLinks(int idCategorie, int idDiv ,int offset)
    {
        string image;
         SqlCommand requete = new SqlCommand();
        requete.Connection = connectionToDB;
        requete.CommandType = System.Data.CommandType.Text;
        string strReq = @"SELECT distinct NomDocument, Lien, Type";
        strReq += " FROM Web_Documents inner join Web_Profil_Joint_Documents on Web_Documents.IDDocument = Web_Profil_Joint_Documents.IDDocument";
        strReq += "  WHERE IDCategorie=@idCat AND Web_Profil_Joint_Documents.IDProfil in ({0})";
        strReq += " ORDER BY NomDocument asc";
        requete.Parameters.AddWithValue("idCat",idCategorie);
        string inClause = string.Join(",", userConnected.arraylistForSQL);
        requete.CommandText = string.Format(strReq, inClause);
        for (int i = 0; i < userConnected.arraylistForSQL.Length; i++)
        {
            requete.Parameters.AddWithValue(userConnected.arraylistForSQL[i], userConnected.idsProfil[i]);
        }
        using (SqlDataReader reader = requete.ExecuteReader())
        {
            int index=1;
            string target="_Blank";
            while (reader.Read())
            {
                string path="RacineSite"+reader["Lien"].ToString().Replace(".asp", ".aspx");
                if (reader.FieldCount == 1)
                {
                   image = "../images/" + reader["Type"] + ".gif";
                }
                else
                {
                   image = "../images/" + reader["Type"] + "join.gif";
                }
                menuExpl.AppendLine("<table border='"0'" cellspacing='"0'" cellpadding='"0'"><tr>");
                menuExpl.AppendFormat("<td width='"{0}'" valign=middle nowrap></td>", offset - 2);
                menuExpl.AppendLine("<td><img border='"0'" src='"{0}'" width='"30'" height='"15'"></td>");
                menuExpl.AppendLine("<td width='"5'" valign=middle nowrap></td><td>");
                menuExpl.AppendLine("<a onmouseout='"this.style.textDecorationUnderline=false'" ");
                menuExpl.AppendLine("onmouseover='"this.style.textDecorationUnderline=true;this.style.cursor=''hand'''"");
                menuExpl.AppendFormat("href='"{0}'" target='"{1}'">",path,target);
                menuExpl.AppendFormat("<font id='"{0}-{1}doc'" size='"-1'">{2}</font>",idCategorie,index,reader["NomDocument"]);
                menuExpl.AppendLine("</a></td></tr></table>");
                index++;
            }
        }
    }
如果你有最好的方法来做这个菜单,我就买了。

谢谢。

链接不会在我的主页's contentPlaceHolder中打开我的页面,而是在一个新选项卡中打开

在你的函数'DrawLinks'中有一行…

string target="_Blank";

将'Blank'替换为'self',它将在同一窗口或选项卡中打开。

相关文章: