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();

    }

我宁愿将 html 代码放在部分视图 (.ascx) 中并将其呈现为字符串,因为我真的不喜欢将 javascript 使用的特定 html 元素隐藏在编译代码中。

我看过这篇文章,看起来这是一个有效的想法,可以修改为将部分渲染为字符串: 通过控制器渲染部分

有没有更简洁的方法可以将部分渲染到字符串而无需通过控制器?

4

0 回答 0