1

単一のリッチ テキスト フィールドを含むコンポーネントがあります。サブレイアウトでは、フィールドは Glass で Html.Editable としてレンダリングされるため、PageEditor のページで編集できます。次のようになります。

public override void Initialize()
{
    litBodyContent.Text = Html.Editable(GlassItem, item => item.Body);
}

<div style="min-height: 38px">
    <asp:Literal runat="server" ID="litBodyContent" />
</div>

ただし、リッチ テキスト エディターを使用してリンクを挿入すると、ページがレンダリングされると (ページ エディターではなく、公開後の通常のビューで)、次のように、リンクはユーザー フレンドリ パスではなくアイテム ID でレンダリングされます。

<a href="~/link.aspx?_id=D9D103AD60DA4B318521801ADA863222&amp;_z=z">Go to another page</a>

これは Glass の問題であると確信しています。ページ エディターでフィールドを編集可能に保ちながら、リンクを正しくレンダリングするにはどうすればよいですか?

4

3 に答える 3

0

Initialize()ページのライフサイクルとしては早すぎると思います。のように、さらに移動してみてくださいPage_Load()

于 2016-07-05T09:07:39.437 に答える
0

リテラルを使用して Editable() メソッドを直接使用するように変更してみてください。

<%= Editable(GlassItem, x => x.Body) %>
于 2016-07-01T19:28:04.700 に答える