在我的控制器中,我有以下代码:
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,所以我希望这是自动的,而不是我必须在控制器中指定控制器名称和操作名称。