2

ユーザーログインやショッピングカートなどのSite.Masterページでドーナツキャッシュを使用しようとしています。これにより、アプリのリソースを大量に消費するページにOutputCacheを配置できます。

現在、私はタグを使用していて、コードビハインドの静的メソッドからhtmlを書き出しています。

      <asp:Substitution ID="Substitution1" runat="server" MethodName="RenderUserLogin"/>

    public static string RenderUserLogin( HttpContext incomingContext )
    {

        System.Text.StringBuilder osb = new System.Text.StringBuilder();

        osb.Append( "<p>" );
        if ( incomingContext.User.Identity.IsAuthenticated 
            && !string.IsNullOrEmpty( incomingContext.User.Identity.Name ) )
        {
            osb.Append( "Hi, <span class=\"name\">" );
            osb.Append( "<a href=\"/Users/Show\">" );

           // ... etc. ...

       return osb.ToString();

    }

コンパイルされたコードにJavaScriptで使用される特定のhtml要素を埋め込むのは本当に好きではないので、HTMLコードを部分ビュー(.ascx)に入れて、それを文字列にレンダリングしたいと思います。

私はこの投稿を見ましたが、これは有効なアイデアであり、パーシャルを文字列にレンダリングするように変更できます: コントローラーを介してパーシャルをレンダリングする

コントローラを経由せずに文字列にパーシャルをレンダリングするためのよりクリーンな方法はありますか?

4

0 に答える 0