2012-04-05 6 views
0

顧客を1ページから.NET usercontrolの先行兄弟にリダイレクトしたい。これは私のコードですが、 "$ currentPage/preceding-siblings :: * [@isDoc] [1] に無効なトークンがあります。もちろんcurrentPageにのようレスポンス。umbraco.NodeFactoryで次の先行する兄弟へのリダイレクト.netユーザーコントロール

Node sibling = Node.GetNodeByXpath(@"$currentPage/preceding-siblings::* [@isDoc][1]"); 
if (sibling != null) 
    Response.Redirect(umbraco.library.NiceUrl(sibling.Id)); 

.NETユーザーコントロールで定義されたパラメータはありませんが、私は何も動作、より多くの方法を試してみました。この

Node sibling = Node.GetNodeByXpath(@"/preceding-siblings::* [@isDoc][1]"); 
if (sibling != null) 
    Response.Redirect(umbraco.library.NiceUrl(sibling.Id)); 

を書いて、それを削除することについて考え、そう。私は自分のコードやアイディアに何が間違っているのか理解できません!それを行うための他の方法はありますか?注、私はxsltではない.net usercontrolの中から実行する必要があります。アドバイスをいただきありがとうございます

答えて

1

私はあなたがこれを行うことができると思います、私はその正しい方法がわかりません。

ルートノードの子ノードを取得し、その整数を整数リストに保存します。次に、現在のノードの先行ノードをリストから見つけることができます。

+0

私はそのアプローチについて考えましたが、より迅速でより直接的なアプローチがあると確信しています。私はもう少し待って、もっとアイデアを持てるかどうかを見ます。 –

+0

@ m.othman:はい、umbracoフォーラムでもこれを投稿してください。もっと多くの人々がそこに現れます.. –

+1

Umbracoフォーラムのソリューション [http://our.umbraco.org/forum/developers/api-questions/30562-ResponseRedirect-to-next-preceding-sibling-with umbracoNodeFactory-GetNodeByXpath-net-Usercontrol?p = 0#comment113443] –

関連する問題