Sitefinity自定义MVC小组件编辑菜单

时间:2017-08-11 16:31:43

标签: c# sitefinity sitefinity-10

我在MVC中创建了一个Sitefinity小部件(2个视图,一个控制器和一个模型),它按预期工作。

将小部件拖到页面后,除了编辑菜单。编辑视图中的所有字段都是文本输入,我不知道如何影响它。

我的一个字段应该是一个带有Enum值的下拉列表 - 这个枚举列出了我的两个视图的名称,并由控制器用来选择我要渲染的那个。当我打开窗口小部件的编辑视图时,它默认为我的枚举中的第一个值,并且所有内容都正确呈现,但我希望这是一个下拉菜单而不是文本输入,需要用户的魔法字符串知识。

我的另一个字段选择要链接的页面,该页面在我的窗口小部件内的表单的action属性中使用。这又一次有效,但它只是一个字符串文本字段,我想使用内置的Sitefinity页面选择器,如果可能的话,使用许多“本机”小部件。

所以短版本是:在将小部件添加到页面后,在哪里/如何影响小部件的“编辑”视图中显示的输入类型?

1 个答案:

答案 0 :(得分:3)

就Sitefinity而言,当您编辑窗口小部件设置时,视图是“窗口小部件设计器”。

使用羽毛时的官方文档:https://docs.sitefinity.com/feather-create-custom-designer-views

非羽毛用户的文档:https://docs.sitefinity.com/for-developers-create-a-simple-widget-designer

在您的情况下,如果您想使用下拉菜单而不是输入的简单示例:

  1. DesignerView.Simple.cshtml文件夹
  2. 中创建View/<ControllerName>
  3. 添加到此文件中:<select sf-model="properties.Content.PropertyValue"><option>abc</option><option>xyz</option></select>其中Content是您的媒体资源名称
  4. 如果您要在后端编辑此小部件,它将呈现下拉列表。
  5. <强>链接