Sitefinity 小部件用户控件

Sitefinity Widget User Control

我创建了这个 TransparencyControl 并希望能够将它添加为一个小部件。我创建了这个新的 MyWidget1,但我不确定在哪里或如何添加用户控件?是否应该将其添加到 cshtml 页面?

TransparencyControl.ascx

 <%@ Control Language="C#" AutoEventWireup="true" CodeBehind="TransparencyControl.ascx.cs" Inherits="SitefinityWebApp.transparency.TransparencyControl" %>
    <%@ Register TagPrefix="ucTransparency" Namespace="Telerik.Web.UI" Assembly="Telerik.Web.UI" %>
    <asp:Xml ID="XmlForm" runat="server"></asp:Xml>

default.cshtml

@model SitefinityWebApp.Mvc.Models.MyWidget1Model

    <h1>
        @Html.Raw(Model.Message)
    </h1>
    <p>

        <uc:ucTransparency runat="server" ID="ucTransparency" />
    </p>

正如@Veselin 所说,您不能混合使用 MVC 和用户控件。您可以将您的用户控件注册为小部件或使用 MVC 创建小部件。

网络表单:

查看 webforms documentation 了解如何注册用户控件。

MVC

如果您使用的是 MVC(推荐),Sitefinity 有一些 sample widgets 您可以看看。

请注意,在您实施新的小部件后,您必须在 Sitefinity CMS 工具箱中注册它们。您可以通过使用 ControllerToolboxItem 属性装饰小部件控制器 class 来完成此操作。 Sitefinity 有这方面的文档,可以找到 here