Пользовательская форма в Umbraco ограничения? - PullRequest
3 голосов
/ 17 февраля 2012

Я занят изучением Umbraco, но я не вижу в Интернете ничего, что сообщало бы мне, позволит ли Umbraco создать собственную форму ASP.NET с использованием кода C # для подключения к базе данных SQL Server.

Будут ли у меня какие-либо проблемы с Umbraco, если мне потребуется создать такую ​​настраиваемую форму в ASP.NET и перенести ее в Umbraco?

Ответы [ 3 ]

3 голосов
/ 18 февраля 2012

Существует два способа (по крайней мере, я знаю), где вы можете реализовать собственные формы .Net в Umbraco (версия 4.7.x и ниже).

Шаблон на основе

Вы можете создать форму непосредственно в разметке шаблона, используя стандартные элементы управления 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>

Макро-Based

  1. Создайте свои формы в пользовательских элементах управления в Visual Studio и скомпилируйте их.
  2. Скопируйте .ascx в папку /usercontrols/.
  3. Скопируйте .dll в папку /bin/.
  4. Перейдите в Developer> Макросы в Umbraco и создайте новый Макрос
  5. Выберите пользовательский элемент управления из раскрывающегося списка рядом с .Net User Control на вкладке Macro Properties.
  6. Импорт макроса в ваш шаблон. Готово!
  7. (Необязательно) Если ваш пользовательский элемент управления требует установки свойств, не забудьте добавить их на вкладку свойств в макросе и отобразить их.

Код вашего шаблона будет выглядеть примерно так:

<%@ 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 голос
/ 18 февраля 2012

Другой быстрый и дешевый вариант - использование пакета Contour Forms. Это стоит около 99 евро и предоставляет WYSIWYG интерфейс для создания форм. Он имеет рабочий процесс и возможность хранить значения в пользовательских таблицах.

Нам действительно это нравится, и это работает, вероятно, в 75% - 80% случаев, когда вам нужна форма.

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

0 голосов
/ 18 февраля 2012

Вы определенно можете сделать это в версии 4.7 (и более ранних версиях), создав пользовательский элемент управления asp.net, а затем добавив его в систему - все это довольно легко сделать.

В V5 вы не можете создавать пользовательские элементы управления, поскольку он теперь основан на MVC, и, поскольку я только набираю скорость на v5, я не могу комментировать, насколько он сложен / отличается.

Какую версию вы используете?

...