我创建了此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>
答案 0 :(得分:1)
就像@Veselin所说,您不能混合使用MVC和用户控件。您可以将用户控件注册为小部件,也可以使用MVC创建小部件。
网络表单:
看看webforms documentation,了解如何注册用户控件。
MVC
如果您正在使用MVC(推荐),Sitefinity有一些sample widgets可以看看。
请注意,在实现新的小部件之后,必须在Sitefinity CMS工具箱中注册它们。通过使用ControllerToolboxItem
属性装饰小部件控制器类来实现此目的。 Sitefinity有与此相关的文档,here