2012-02-17 2 views
3

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

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

ответ

0

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

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

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

1

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

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

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

+0

Контур действительно хорош в пользовательских HTML формы, которые могут быть настроены, а не вид формы плакат со ссылкой. – rob

+0

Ну, его WebForms и поддерживает создание из таблицы базы данных SQL.Таким образом, он делает все, что он просит, и, возможно, более простым, более проверенным и устойчивым способом. Я думаю, что его действительный вариант зависит от деталей его потребностей. – BeaverProj

3

Есть два способа (что я знаю, по крайней мере), где вы можете реализовать пользовательские .Net формы в Umbraco (Version 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> 

Макро основе

  1. Постройте формы в пользовательских элементов управления в Visual Studio и скомпилировать его.
  2. Скопируйте .ascx в папку /usercontrols/.
  3. Скопируйте .dll в папку /bin/.
  4. Navigate Разработчику> Макросы в 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> 
Смежные вопросы