私のコントローラーには、次のコードがあります。
var viewModel = new ListCityViewModel {
City = rowData,
Meta =
{
DataSourceID = dataSourceID,
Em0 = em0
}
};
私のviewModelには次のものがあります:
public class ListCityViewModel : BaseViewModel
{
public ListCitiesViewModel()
{
Meta = new Meta
{
Title = ViewContext.Controller.ValueProvider.GetValue("controller").RawValue +
ViewContext.Controller.ValueProvider.GetValue("action").RawValue,
Desc = ViewContext.Controller.ValueProvider.GetValue("controller").RawValue +
ViewContext.Controller.ValueProvider.GetValue("action").RawValue
};
}
public ICollection<City> Cities { get; set; }
}
と:
public class BaseViewModel
{
public BaseViewModel()
{
}
public Meta Meta { get; set; }
}
ただし、メッセージが表示されるため機能しません。
Error 6 An object reference is required for the non-static field,
method, or property 'System.Web.Mvc.ControllerContext.Controller.get'
誰でもこれで私を助けることができますか?コントローラーからviewModelに何かを渡す必要がありますか?どうすれば渡すことができますか? このviewModelは多くのアクションに共通しているため、コントローラーでコントローラー名とアクション名を指定する必要はなく、自動化したいと考えています。