2014-08-22 3 views
0

У меня есть текстовое поле ввода, которое будет использоваться для подписки на рассылку новостей. Я хочу сохранить эти письма в таблице в базе данных SQL Server.Как отправить данные в базу данных SQL Server из поля ввода HTML в umbraco

У меня есть база данных, я просто не знаю, как я буду отправлять данные на нее.

Я в основном разработчик интерфейса, то есть CSS и HTML, так голые со мной, если я не понимаю некоторых вещей.

Кстати, сайт создан с использованием Umbraco, если это имеет значение.

Я очень ценю любую помощь.

Благодаря

+0

Что вы пробовали? Это похоже на довольно широкий вопрос, а не на простое «как» дело с простым ответом. –

+0

ну я никогда не использовал какой-либо код для хранения элемента в базе данных – Adam

+0

Быть голосом я понятия не имею, с чего начать – Adam

ответ

0

Если у вас нет опыта работы с Umbraco или C# Программирование на Umbraco пакет MailChimp может, может помочь:

http://our.umbraco.org/projects/mailchimp4umbraco

+0

Спасибо за ссылку, я в порядке, когда речь заходит о написании XSLT'S и использовании наборов данных. но только для создания страниц контента. Могла ли форма бритвы быть взломана, чтобы выполнить это. – Adam

+0

Да, это так! Если вы запустите свой Razor с помощью @if (IsPost) {...}, вы можете запустить любой код C#, который вы хотите. например вызвать базу данных или все, что вы хотите. Если вы можете сделать XSLT, вы можете сделать бритву (и некоторые C# тоже). Еще одна вещь, stackoverflow - это Q & A, если вы хотите форум, попробуйте http://our.umbraco.org/ – dampee

0

Хотя это не хороший подход, это может быть сделано с помощью Файл Razor. Я предлагаю вам прочитать это сообщение в блоге, чтобы лучше понять, как вы ДОЛЖНЫ это сделать: http://creativewebspecialist.co.uk/2013/07/16/umbraco-petapoco-to-store-blog-comments/

Umbraco использует petapoco под обложками. PetaPoco - это инструмент запроса/обновления базы данных с легким весом. Таким образом, вы можете использовать это для доступа к таблице базы данных. Если вы не знаете petapoco, это хорошее время для поиска. :-)

Вы можете добавить код C# в свой скрипт бритвы. Все, что существует между @ {...}, может быть простым старым кодом C#.

Ниже мы начинаем с проверки того, были ли страницы отправлены назад. Если это так, мы запускаем некоторый код и возвращаем. Если нет, остальная часть страницы будет отображаться.

@{ 
    if(IsPost) { 
    var myNewValue = Request.Form["field1"]; 

    var db = ApplicationContext.DatabaseContext.Database; 
    db.Update("articles", "article_id", new { title="New title" }, 123); 

    <div>save success</div> 

    return; 
    } 
} 
<form method="POST"> 
    <input name="field1"> 
    <button type="submit">submit</button> 
</form>  

Хотя это работает (и я сделал это несколько раз), я не советую вам делать использовать код выше, потому что:

  • Это очень быстрый и грязный раствор.
  • Это не соответствует лучшим практикам.
  • И он не будет работать с несколькими формами на одной странице.

(Хотя последнее возражение можно обойти, добавив скрытое поле для проверки, которые вы представляете ...)

Смежные вопросы