0

グーグルで検索しても答えが得られません。

<siteMapNode url="~/BV1Menu.aspx" title="Baseline Visit 1 Menu" description="Baseline Visit 1 Menu">
    <siteMapNode url="~/Forms/RAND.aspx" title="RAND" description="RAND BV1" />
    <siteMapNode url="~/Forms/PDQ.aspx" title="PDQ 39" description="PDQ 39" />
    <siteMapNode url="~/Forms/HSU.aspx" title="Health Status Update" description="Health Status Update" />
</siteMapNode>
<siteMapNode url="~/MonthlyMenu.aspx" title="Monthly Menu" description="Monthly Menu">
      <siteMapNode url="~/Forms/HSU.aspx" title="Health Status Update 1" description="Health Status Update" />
</siteMapNode>

ご覧のとおり、ここに 2 つの「~/Forms/HSU.aspx」があるため、「同じ URL を持つ複数のノード」という例外が表示されます。

私はそれを解決するために2つの方法を試みましたが、達成できませんでした。暗号化されたクエリ文字列があります。

  1. 「#」を追加します。この「~/Forms/HSU.aspx#?eq=123456789」のように「#」を追加すると、eq が null であるため機能しません。この「~/Forms/HSU.aspx?eq=123456789#」のように「#」を追加すると、SiteMap コントロールが常に最初の HUS.aspx を現在のノードとして検出し、その親ノードが BV1Menu.aspx になるため、機能しません。

  2. ダミーのクエリ文字列を追加します。動作していません。上記の 2 番目と同じ状況です。

URL 書き換えソリューションがあることは知っていますが、クエリ文字列が暗号化されているため、URL を書き換えることはできません。

助けてください。

4

1 に答える 1

1

これが私が取り組んでいるプロジェクトの例です、それは私にとってうまくいきました:

 <siteMapNode url="~/ExperimentsView.aspx?path=htt" title="HTT" />
 <siteMapNode url="~/ExperimentsView.aspx?path=mtt" title="MTT"/>
 <siteMapNode url="~/ExperimentsView.aspx?path=HPLC" title="HPLC"/>
 <siteMapNode url="~/ExperimentsView.aspx?path=UVSpec" title="UV-Spec"/>
于 2012-06-20T11:54:28.140 に答える