Задумывались ли вы об использовании пользовательского ViewFactory, где хранится имя представления, где вы можете его получить? Примерно так:
public class MyViewFactory : WebFormViewEngine
{
public override ViewEngineResult FindView(
ControllerContext controllerContext,
string viewName,
string masterName,
bool useCache
)
{
controllerContext.Controller.ViewData["viewname"] = viewName;
return base.FindView(controllerContext, viewName, masterName, useCache);
}
}