【问题标题】:Sitefinity Widget User ControlSitefinity 小部件用户控制
【发布时间】:2018-12-13 19:13:16
【问题描述】:

我创建了这个 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>

【问题讨论】:

  • 您不能将 webforms 用户控件放入 MVC 视图中。更好的做法是将您的小部件实现为 MVC 小部件 - 这意味着您还需要创建控制器。

标签: c# model-view-controller sitefinity


【解决方案1】:

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

网络表单:

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

MVC

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

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

【讨论】:

  • 是否需要将用户控件转换为 MVC 小部件?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多