2

私の ASP.Net MVC 4 アプリケーションでは、ビューを文字列に手動でレンダリングしたり、レンダリング パイプラインの一部をインターセプトしたりする場所がいくつかあります。例えば:

    public static string RenderPartialViewToString(Controller controller, string viewName, object model)
    {
        controller.ViewData.Model = model;
        try
        {
            using (System.IO.StringWriter sw = new System.IO.StringWriter())
            {

                var viewResult = ViewEngines.Engines.FindPartialView(controller.ControllerContext, viewName);
                var viewContext = new ViewContext(controller.ControllerContext, viewResult.View, controller.ViewData, controller.TempData, sw);
                viewResult.View.Render(viewContext, sw);
                viewResult.ViewEngine.ReleaseView(controller.ControllerContext, viewResult.View);

                return sw.GetStringBuilder().ToString();

            }
        }
        catch (Exception ex)
        {
            return ex.ToString();
        }
    }

しかし、今日、Visual Studio 2013 プレビューを .Net 4.5.1 と共にインストールした後、これらの関数に返された HTML にガベージ/デバッグ タグが大量に含まれていることに気付きました。次のように:

<$A$> <$B$><$C$> <$D$> class="dashboard-content jobs-view active-jobs-view"
<$E$> data-activity-type="<$F$>Active<$G$>"<$H$>> <$I$> <$J$><$K$><$L$> 
class="content-header" <$M$>> <$N$> <$O$><$P$> <$Q$> class="event-carousel-content"
<$R$>> <$S$> <$T$><$U$> <$V$> class="navbar candidate-summary-toolbar"<$W$>> 
<$X$> class="navbar-inner"<$Y$>> <$Z$> class="nav-collapse collapse"<$a$>>

タグの文字が毎回1つずつ増えることを除いて、それらが表示される場所に韻や理由はないようです. これらのタグは、通常のページのライフサイクル中には応答ストリームに到達しないようですが、手動でレンダリングするか、何らかの方法でパイプラインをインターセプトする場合のみです。

これらのタグが何であるか、どこから来たのか、それらを取り除く方法を知っている人はいますか?

ありがとう!

4

2 に答える 2

1

どうやら、この問題を抱えているのは私だけではありません。ここで答えを見つけました:

Visual Studio 2013 Preview で ASP.NET MVC アプリをデバッグするときに、無効な形式またはサポートされていない形式の圧縮がページで使用される

Visual Studio で browser-link オプションを無効にする必要があるようです。browser-link はクールに見えるため、将来的にはより恒久的な修正が可能になることを願っています。

于 2013-06-30T02:32:40.907 に答える