Content management system Orchard CMS:如何将DriverResult显示重载为@model并支持绑定?

Content management system Orchard CMS:如何将DriverResult显示重载为@model并支持绑定?,content-management-system,orchardcms,Content Management System,Orchardcms,阿格!在过去的两天里,我在这里打了18个小时的头,就像在一个4英尺高的泥潭里跑步一样。。。我太接近了,我担心周一我将不得不走进去,因为我所有的努力都没有结果 大局: 我有一个小部件需要考虑用户的ZIPCODE,在此基础上提供一个事件在它们区域内的列表。 如果GeoIp查找已关闭,或者用户有兴趣查找其他地方,他们可以访问并将ZipCode更改为自己选择的任意位置,然后“回发”,重新绘制模块 我让这些小部件从另一个数据库中查找,并呈现为一个小部件 我想怎么做就怎么做。。我“认为”我想要的是

阿格!在过去的两天里,我在这里打了18个小时的头,就像在一个4英尺高的泥潭里跑步一样。。。我太接近了,我担心周一我将不得不走进去,因为我所有的努力都没有结果

大局:

我有一个小部件需要考虑用户的ZIPCODE,在此基础上提供一个事件在它们区域内的列表。 如果GeoIp查找已关闭,或者用户有兴趣查找其他地方,他们可以访问并将ZipCode更改为自己选择的任意位置,然后“回发”,重新绘制模块

我让这些小部件从另一个数据库中查找,并呈现为一个小部件

我想怎么做就怎么做。。我“认为”我想要的是

    protected override DriverResult Display(
        SeminarPart part, string displayType, dynamic shapeHelper) {
成为可以在.cshtml中绑定的对象

@model CustomPart
但无论我做什么,我都会得到->

传递到字典中的模型项的类型为 “IShapeProxyabb0e4251c0b4c71bfe70f2ec47bfca4”,但这本词典 需要“Blah.Blah.MoreBlah.CustomPart”类型的模型项

如果我能得到所有这些快乐,我“认为”我将能够做类似的事情

@Html.TextBoxFor(m=>m.SelectedZipCode)
最后,模型将刷新其结果集,更改模型中的
列表
,并重新绘制列表


挂起的编辑器部分公开了GET和POST
DriverResult
editor,似乎做了我希望在这里能做的事情。。。有人有什么想法吗


pppppplllleeeee asse罗杰。。。。非常感谢,-James et 10 Geek.com…

将您的
@model CustomPart
替换为
@model dynamic
。传递给视图的模型已由Orchard代理,以允许其执行某些操作,代理的对象是
动态
,而不是
CustomPart
的实例


这仅适用于通过
Display(…)
方法显示的视图。在用于
编辑器(CustomPart,dynamic shapeHelper)
方法的视图中,您应该使用
@model CustomPart

,但我确实需要静态模型,多亏了来自其他论坛的Piedone,我能够通过执行以下操作实际绑定到我想要的模型。受保护的重写驱动程序结果显示(MYCustomPart,string displayType,dynamic shapeHelper){return ContentShape(“Parts_Seminar”,()=>shapeHelper.DisplayTemplate(TemplateName:“Parts/MYCustom”,型号:MYCustomService.GetMYCustomData(part),前缀:Prefix));很高兴您找到了解决方案:)两者都可以,Piedone的方法更明确。出于兴趣,为什么您特别需要CustomPart(而不是它的代理)?我以前从未直接使用过DisplayTemplate(),我只需在视图中强制转换它(即
@{var part=(CustomPart)模型;}
或类似的东西)。