2014-11-15 3 views
0

У меня есть клиентское веб-приложение, к которому меня просят внести некоторые обновления. У меня есть небольшое количество часов разработки для работы, так что в настоящее время переоформление системы не является вариантом.Архитектура Umbraco с параметрами строки запроса для документа

Приложение было написано с использованием классического asp с логикой для динамического вывода определенного контента из пользовательской базы данных и для записи определенных действий пользователя в одну и ту же пользовательскую базу данных. Существует административная область для просмотра этих зарегистрированных действий пользователя.

В какой-то момент времени веб-приложение было перенесено на использование Umbraco 4 для cms. Мне было поручено перенести некоторый дополнительный контент, который все еще вытаскивается из исходной настраиваемой базы данных, в контексте CMS.

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

Логика также использует параметр строки запроса при записи действий пользователя обратно в пользовательскую базу данных.

Мне нужно поддерживать синтаксис url и поведение записи действий пользователя обратно в пользовательскую базу данных, но перемещать отображаемый контент, специфичный для этого параметра, в CMS. Где разместить этот контент в CMS и как я могу получить к нему доступ с этих страниц с помощью параметра строки запроса?

Url Примеры:

/site_home/Node1/Node2/Node3/ 
/site_home/Node1/Node2/Node3/?partner=partner1 
/site_home/Node1/Node2/Node3/?partner=partner2 

/site_home/Node1/Node2/Node3/Review/ 
/site_home/Node1/Node2/Node3/Review/?partner=partner1 
/site_home/Node1/Node2/Node3/Review/?partner=partner2 

/site_home/Node1/Node2/Node3/Checkout/ 
/site_home/Node1/Node2/Node3/Checkout/?partner=partner1 
/site_home/Node1/Node2/Node3/Checkout/?partner=partner2 

ответ

1

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

@{ 
    if(!string.IsNullOrEmpty(Request.QueryString["query"])) 
    { 
    int result= 0; 
     if(Int32.TryParse(HttpContext.Current.Request.QueryString["query"].ToString(), out result)) 
     { 
     umbraco.MacroEngines.DynamicNode node = new umbraco.MacroEngines.DynamicNode(result); 

      <h1> @node.Name </h1> 
    } 
    else 
    { 
     <h2>No query found</h2> 
     } 
} 

} 

Umbraco Forums - Render Node content from querystring