Wir haben einige Seiten (lassen Sie uns Elternseiten nennen), die mit RenderAction andere ASPX-Seiten aufrufen (untergeordnete Seiten nennen).
Was ich tun möchte, ist, in diesen Elternseiten eine Art Helfer zu verwenden, der den Namen dieser Kindseiten ausgibt, wenn in der Querystring debug = 1 erscheint.
@Html.AutodiscoverWidgets()
Es ist möglich, dies zu tun? Ich möchte vermeiden, in jede Child-Seite etwas wie:
@Html.AutodiscoverWidgets("NameOfTheChildView")
Was ich im Moment habe, ist die folgende Erweiterungsmethode:
public static MvcHtmlString AutodiscoverWidgets(this HtmlHelper htmlHelper)
{
if (HttpContext.Current.Request.QueryString["debug"].ToString() == "1")
{
return MvcHtmlString.Create("hello");
}
else
{
return MvcHtmlString.Create("");
}
}
Antworten:
1 für die Antwort № 1Sie könnten den folgenden Helfer verwenden:
public static MvcHtmlString CurrentViewName(this HtmlHelper htmlHelper)
{
var view = htmlHelper.ViewContext.View as BuildManagerCompiledView;
if (view != null)
{
return MvcHtmlString.Create(view.ViewPath);
}
return MvcHtmlString.Empty;
}
und dann:
@Html.CurrentViewName()