Есть несколько способов сделать это в зависимости от того, что вы хотите. Свойство HtmlHelper ViewContext будет содержать практически все, что вам нужно для конкретного запроса: HttpContext, RequestContext, RouteData, TempData, ViewData и т. Д.
Чтобы получить текущий путь запроса, попробуйте helper.ViewContext.HttpContext.Request.Path
. Это вернет фактический путь запроса, вероятно, "/" или "/ home / index", если путь был явным в URL.
Я не уверен, почему ты хочешь получить "/ домой / частичное". Поскольку это частичное представление, запрос всегда будет приходить откуда-то еще, например. «/home/index".
Независимо от этого, вы можете проверить RouteData и получить (частичное) действие и контроллер, среди других значений маршрута:
public static string TestHelper(this HtmlHelper helper)
{
var controller = helper.ViewContext.RouteData.Values["controller"].ToString();
var action = helper.ViewContext.RouteData.Values["action"].ToString();
return controller + "/" + action;
}
Если вызвано в вашем представлении индекса (Index.aspx), он вернет " Home / Index ".
Если вызывается в вашем частичном представлении (Partial.aspx), он вернет " Home / Partial ".
Надеюсь, это поможет.