【发布时间】:2012-04-29 07:51:22
【问题描述】:
我构建了一个自定义模块,用于管理基于服务的公司的约会。所有当前功能都包含在管理部分中。我没有使用单个 ContentItem 或 ContentPart。所有的模型都只是普通的记录。
我正在寻找创建一个小部件以公开从前端注册约会的能力。我有一个部分视图和一个控制器来处理显示和表单提交,但我不确定如何将其绑定到一个可以放置在前端内容区域之一的小部件中。
我花了相当多的时间研究这个,但找不到一个好的路径。 (我尝试了一些并得到了次优结果)
有什么建议吗?
【问题讨论】:
-
由于任何特殊原因,表单是否必须通过小部件放置在前端,或者您可以使用形状吗?从您的小部件中,您可以在局部视图上调用 @Html.RenderPartial()。它看起来很简单(也许我缺少一些东西)。您是否有任何特定的部分被卡住或有疑问?您是否查看过 Orchard 文档中的 Widget 创建信息?
-
不,它不一定是小部件。我不确定如何使用形状来解决问题。我已经阅读了有关创建小部件的果园文档以及其他教程。它们都基于内容部分的小部件,除了我发现的一个按照你的建议做的。我尝试过使用@Html.RenderPartial(),当它渲染视图时,一些关键的ajax调用被破坏了,因为@Url.Action("GetServices", "Appointment")返回了错误的路径:localhost:30320/OrchardLocal/Contents/Appointment/GetServices而不是:@ 987654322@
-
尝试命名您的路线并使用@Url.RouteUrl() 作为一种简单的方法来强制您想要的路线。
-
另外,在使用Url.Action时,需要指定区域。
-
@BertrandLeRoy 指定操作没有任何区别。 @GiscardBiamby 我爱你。那行得通。我能够使用 @Url.RouteUrl() 指定特定路径,让表单在小部件中正常工作。
标签: asp.net asp.net-mvc-3 orchardcms