私は新人のWeb開発者で、C#、VS2005、および.masterファイルを使用してサイトを作成しています。
サイト内の各ページにディレクトリ構造内の現在の場所を認識させて、各ページに適切なナビゲーションリンクを表示できるようにします。
現在のページに関連するディレクトリ構造を検索するために、.masterファイルに次のコードを記述しました。localhost / mysiteのテストサーバーでは正常に機能しますが、公開サイト(www.example.coom)にプッシュすると、コードが壊れます。
問題は「intdepth=h-2」の行にあることがわかりました。h-1に変更すると、mysite.orgで機能します。しかし、それは醜い解決策です。
int nUrlSegments = this.Page.Request.Url.Segments.GetLength(0);
string[] thisPageArray = new string[nUrlSegments];
for (int i = 0; i < nUrlSegments; i++)
thisPageArray[i] = Page.Request.Url.Segments[i].ToString();
int h = 0;
while (!thisPageArray[h].Contains(".aspx"))
h++;
int depth = h - 2;
string pathToTop = "";
for (int j = 1; j <= depth; j++)
pathToTop = pathToTop + "../";
string currentpage = thisPageArray[nUrlSegments-1].ToString();
string currentdir = "";
if (nUrlSegments > 1)
currentdir = thisPageArray[nUrlSegments - 2].ToString();
ディレクトリ構造内の各ページの場所を見つけるためのより良い方法は何ですか?