0
與大多數MVC實現一樣,我的所有抽象服務都可以在Controller中使用。好吧,我創建了下面的HTML幫助的擴展,允許嵌入應用程序設置成HTML作爲隱藏輸入:如何從MVC HtmlHelper擴展中獲取當前控制器?
public static MvcHtmlString HiddenForSetting<TResult>(this HtmlHelper htmlHelper, Expression<Func<IMyAppSettings, TResult>> expression, string name = null)
{
IMyAppSettings settings = null;
return MyHtmlHelpers.HiddenForSetting<IMyAppSettings, TResult>(htmlHelper, expression, settings, name);
}
的助手提供的設置對象,並允許消費者選擇要嵌入的財產。 IMyAppSettings
就是這樣一種服務。所以我想從控制器本身獲得這項服務。有沒有從這個靜態助手擴展方法訪問控制器的方法?
注意:我不需要控制器名稱!我需要控制器實例本身。
您是否在爲您的應用程序使用依賴注入?如果是的話,你是否嘗試'參數注入'給你的助手擴展來獲取'IMyAppSettings'的實例? –
我們的應用程序使用依賴注入。控制器基類提供了一個注入其構造函數的「IMyAppSettings」的實現。我不熟悉參數注入。 – Jordan