【发布时间】:2015-07-16 06:42:36
【问题描述】:
我有一个现有的用户控件“BigForm.ascx”:
<%@ Control
Language="C#" AutoEventWireup="true"
CodeFile="BigForm.ascx.cs" Inherits="BigForm" %>
<asp:Panel runat="server" DefaultButton="btnSubmit">
<%--SUPER COMPLICATED FORM--%>
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
</asp:Panel>
BigForm.ascx 非常复杂——它为占位符动态添加子控件,封装了大量业务逻辑,标记高度自定义等等。
我可以使用“用户控制”Web 部件将 BigForm.ascx 添加到 Kentico,它运行良好。
但是,如果我将 BigForm.ascx 转换为“适当的”Web 部件 - 通过从 CMSAbstractWebPart 而不是从 UserControl 继承 - 回发不会触发。我会点击提交按钮,没有任何反应。
我在designing forms using the form builder 上看到过Kentico doco,但是这个用户控件已经可以完美运行了,我怀疑使用WYSIWIG 构建它太复杂了。更不用说我更喜欢使用 Visual Studio 构建表单。
我的理解是,使用 Web 部件是使用 Kentico 做的“正确”事情,这样做会让用户在该 Web 部件上指定属性(例如,如果我们想在将来翻译表单 - 我们可以在 Web 部件上放置“名字标签文本”,用户可以输入“Vorname”而不是“名字”)。
我需要怎么做才能将工作的用户控件转换为 Kentico Web 部件?
【问题讨论】: