TL;DR:我如何将模型传递到下一个形状?
我在我的主题(Views\Orchard.Search\Search\Index.cshtml)中修改了Views\Orchard.Search\Search\Index.cshtml模块搜索结果视图,并将其分成几个场景。我测试一个结果,只是重定向直通和测试没有搜索词和多个搜索结果。
我想把这些场景放在单独的.cshtml视图中,但是这些特殊的形状需要访问主搜索结果模型(@model Orchard.Search.ViewModels.SearchViewModel)。
我尝试使用Arguments.From来创建一个动态对象,但随后我不得不将视图中的所有内容转换回它正确的数据类型,因为下一个向下的形状认为其模型上的每个属性都是dynamic类型。
相反,我试图弄清楚如何将整个Model传递到下一个形状:
@if (HasMultipleResults())
{
var shapeFactory = (IShapeFactory)New;
// this doesn't work
var multipleResultsShape = (dynamic)shapeFactory.Create("Search_MultipleResults", Model);
@Display(multipleResultsShape);
return;
}我还没找到办法让它起作用,谁能教我一下吗?
发布于 2016-05-05 00:57:40
如果动态方法的第一个参数是类型,那么这将用作模型。
New.YourShape(typeof(YourType))
有关详细信息,请参阅此视频:https://www.youtube.com/watch?v=gKLjtCIs4GU&feature=youtu.be&t=1127
https://stackoverflow.com/questions/37040505
复制相似问题