在我的行动中,我做了类似的事情:
runtime: php55
api_version: 1
handlers:
- url: /.*
script: index.php
- url: /css
static_dir: css
我想将返回对象转换为public ActionResult Overview(IDynamicList entity, int skip, int take)
{
List<IEntityModel> model = getModel(entity.GetTypeName(), skip, take);
string viewName = entity.GetView();
return PartialView(viewName, model);
}
private List<IEntityModel> getModel(string typeName, int skip, int take)
{
string getComponentsMethodName = nameof(IContentQueryProvider.GetComponents).Split('.').Last();
Type typeOfEntity = FindViewModelByTitle<IContentModelAttribute>(typeName);
var data =
typeof(IContentQueryProvider)
.GetMethod(getComponentsMethodName, new Type[] { typeof(int), typeof(int) })
.MakeGenericMethod(new[] { typeOfEntity })
.Invoke(_contentQueryProvider, new object[] { skip, take });
return (data as IEnumerable<object>).OfType<IEntityModel>().ToList();
}
,但我唯一知道的是List<typeOfEntity>
实现了一个继承typeOfEntity
的接口。这就是我知道我可以返回IEntityModel
的原因,但后来在我的视图中我无法从智能感知中获得帮助,我需要直接在我的视图中投射模型。那么如何直接在我的控制器中进行投射,这样我就可以在到达视图时直接返回有意义的内容?