链接不会在母版页的 contentPlaceHolder 中打开我的页面,而是在新选项卡中打开
Links does not open my page in my masterpage's contentPlaceHolder but in a new tab
我在用 c# 开发 asp,我的菜单有问题。
我的母版页中的菜单包含两个 link(link 到 Home.aspx 和 Contact.aspx)
和一个动态的 div,其中包含 links 使用 c# 代码生成到不同的其他 aspx 页面。
问题是当我点击经典 link(主页或联系方式)时,页面加载到我母版页的 ContentPlaceHolder 中,但是使用动态 links 它会在我的浏览器中打开一个新标签.
我在母版页中的两个 link 可以正常工作:
<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++;
}
}
}
PS: 如果你有好的制作方法,我会采纳
谢谢。
在你的函数中 'DrawLinks' 有一行...
string target="_Blank";
将 'Blank' 替换为 'self',它将在相同的 window 或选项卡中打开。
我在用 c# 开发 asp,我的菜单有问题。
我的母版页中的菜单包含两个 link(link 到 Home.aspx 和 Contact.aspx) 和一个动态的 div,其中包含 links 使用 c# 代码生成到不同的其他 aspx 页面。
问题是当我点击经典 link(主页或联系方式)时,页面加载到我母版页的 ContentPlaceHolder 中,但是使用动态 links 它会在我的浏览器中打开一个新标签.
我在母版页中的两个 link 可以正常工作:
<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++;
}
}
}
PS: 如果你有好的制作方法,我会采纳
谢谢。
在你的函数中 'DrawLinks' 有一行...
string target="_Blank";
将 'Blank' 替换为 'self',它将在相同的 window 或选项卡中打开。