私の 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つずつ増えることを除いて、それらが表示される場所に韻や理由はないようです. これらのタグは、通常のページのライフサイクル中には応答ストリームに到達しないようですが、手動でレンダリングするか、何らかの方法でパイプラインをインターセプトする場合のみです。
これらのタグが何であるか、どこから来たのか、それらを取り除く方法を知っている人はいますか?
ありがとう!