Umbraco中的自定义形式有哪些限制?

时间:2012-02-17 18:08:37

标签: umbraco

我正在忙着了解Umbraco,但我在互联网上看不到任何东西告诉我Umbraco是否允许我使用连接到SQL Server数据库的C#代码创建自定义ASP.NET表单。

如果我需要在ASP.NET中创建这样的自定义表单并将其带入Umbraco,我是否会遇到Umbraco的任何问题?

3 个答案:

答案 0 :(得分:3)

有两种方法(至少我知道),您可以在Umbraco(版本4.7.x及更低版本)中实现自定义.Net表单。

<强>基于模板的

您可以使用标准ASP.Net控件并使用<script runat="server" language="c#">标记直接在模板标记中构建表单。这就像在Visual Studio中一样站在内联页面编码中,因此您放弃了预编译的奢侈等。

<%@ Master Language="C#" MasterPageFile="~/umbraco/masterpages/default.master" AutoEventWireup="true" %>
<asp:Content ContentPlaceHolderID="ContentPlaceHolderDefault" runat="server">
    <asp:Label ID="myLabel" runat="server" />
</asp:Content>
<script runat="server" language="c#">
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack)
        {
            this.myLabel.Text = "Hello World";
        }    
    }  
</script>

<强>宏基于

  1. 在Visual Studio中的用户控件中构建表单并进行编译。
  2. .ascx复制到/usercontrols/文件夹。
  3. .dll复制到/bin/文件夹。
  4. 导航至开发人员&gt; Umbraco中的宏并创建一个新的宏
  5. .Net User Control标签上Macro Properties旁边的下拉列表中选择您的用户控件。
  6. 将宏导入模板。完成!
  7. (可选)如果用户控件需要设置属性,请不要忘记将它们添加到宏中的属性选项卡并映射它们。
  8. 您的模板代码如下所示:

    <%@ Master Language="C#" MasterPageFile="~/umbraco/masterpages/default.master" AutoEventWireup="true" %>
    <asp:Content ContentPlaceHolderID="ContentPlaceHolderDefault" runat="server">
        <umbraco:Macro Alias="MyForm" MyProperty="Hi!" runat="server" />
    </asp:Content>
    

答案 1 :(得分:1)

另一个快速而便宜的选择是使用Contour Forms包。它的成本约为99欧元,并提供了一个WYSIWYG界面来创建表单。它具有工作流和将值存储在自定义表中的能力。

我们非常喜欢它,它适用于大约75% - 80%的需要表格的情况。

http://umbraco.com/products/more-add-ons/contour.aspx

答案 2 :(得分:0)

你绝对可以在版本4.7(及更早版本)中执行此操作,方法是创建一个asp.net自定义控件,然后将其添加到系统中 - 这一切都非常容易。

在V5中你不能创建自定义控件,因为它现在是基于MVC的,并且因为我刚刚开始使用v5,所以无法评论它有多么难/不同。

您使用的是哪个版本?