次のようなカスタムビューエンジンを使用してHTMLを操作したいと思います。
protected override void RenderView(ViewContext viewContext, TextWriter writer, object instance)
{
if (viewContext.Controller is MyController)
{
.. alter the html then write to writer
} else {
base.RenderView(viewContext, writer, instance);
}
}
RenderView
ビューと各部分ビューが呼び出されますが、外部ビューと部分ビューのどちらをレンダリングしているかを判断するための信頼できる方法がわかりません。
writer
オブジェクトのタイプはHttpWriter
、部分ビューとStringWriter
外部ビュー用です。これはそれをテストするための悪い方法のように思えますが、これまでのところ、それは私が見つけることができる唯一の具体的なものです
はビューまたは部分ビューのinstance
名前を教えてくれますが、文字列をチェックして部分ビューをレンダリングしているかどうかを確認するのは難しいようです。
それが部分的なビューであるかどうかを判断するためのより直接的な方法はありますか?