2009-06-23 14 views
1

Umbracoダッシュボードで正常にユーザーコントロールを作成して統合しました。このページは、編集可能な項目のリストを返す検索コントロールから始まります。Umbraco:バックエンドユーザーコントロール

私のユーザーコントロールでは、編集ページのリンクを指示する際に問題が発生しています。私はそれに直接リンクしようとしています。ここではそのコードは次のとおりです。

<asp:hyperlinkfield 
    datanavigateurlformatstring="/usercontrols/useradmin/item_edit.aspx?itemID={0}" 
    datanavigateurlfields="itemID" Text="edit" /> 

Umbracoは直接リンクを処理することができませんし、私はどのようにそれへのパスにはよく分かりません。その代わりに、このエラーを返します。

No umbraco document matches the url ' http://localhost:1169/usercontrols/useradmin/item_edit.aspx?itemID=f66c8f06-9e0e-4f3c-ac0d-5544e0998094 ' umbraco tried this to match it using this xpath query'/root/node/node [@urlName = "usercontrols"]/node [@urlName = "useradmin"]/node [@urlName = "item_edit"]')

は、カスタムダッシュボードコントロール内の別の1つのユーザーコントロールからリンクする方法はありますか?代わりに、ページ間のリンクしようとの

答えて

1

ポストバックオプション

、なぜちょうどポストバックを使用して、既存のユーザーコントロール内のすべての作業をしませんか?

すなわちユーザーコントロールでは、このような方法

public void Handle_Click(object sender, System.Event args) 
{ 
    //Do Something 
} 

それは同じページに滞在していますようumbracoはURLをしようとして解釈しないので、これは正しく動作します。ページオプションへ

+0

でumbracoReservedPathsエントリに.aspxページを含むフォルダを追加する必要があります。しかし、将来の機能でそうする必要があるかもしれないので、他のコントロールにどのようにリンクするかを理解しています。 – JGrimm

+0

ちょっとしたことですが、コントロール間のリンクはできません。つまり、自分自身のページではないため、myControl.ascxにリンクすることはできません。つまり、コントロールを含むページ(MyPageContainingMyControl.aspx)にリンクする必要があります。つまり、[ページへのリンク]または[iFrame]オプションが進む方法です。 –

+0

良い点、ティム。私は当面このオプションを使うつもりだと思う。 – JGrimm

1

リンク

それは試してみて、URLを解釈することはありませんので、あなたが(パスを無視するumbracoを伝えるweb.configファイルにエントリを追加する必要があります別のページへのリンクを有効にするには)。

ただ、次のAppSettingにパスを追加します。リンクは、その後のダッシュボード制御で動作します

<add key="umbracoReservedPaths" value="/umbraco,/install,/YOUR/PATH/HERE" /> 

、しかし、それはすべてのダッシュボードのデザインが適用されている(そうしないページにリンクしますタブは消えるなど)。 .aspxページにデザインを適用できますが、かなりの作業です。そのため、あなたがた.ascxコントロールの上に置いたiFrameにあなたの管理ページをロードすることを望むかもしれないページのオプションへのリンクで説明したように制限の

1

iFrameのオプション

このようにして、.aspxから.aspxに移動し、ダッシュボードタブとその周囲のデザインを保持することができます。

あなたはまだあなたが私もこのルートを行くと考えられてきたのweb.config

<add key="umbracoReservedPaths" value="/umbraco,/install,/YOUR/PATH/HERE" />