2016-09-09 9 views
1

Я очень новичок в Umbraco, я все еще разбираюсь в том, как это работает, поэтому вполне возможно, что я пропустил что-то чрезвычайно очевидное.Код не добавлен в CodeBehind не исполняется

Мне было предложено изменить способ использования слайдера функции MasterPage, я обнаружил, что разметка для ползунка находится в файле .cs для MasterPage.

void CreateSlider() 
    { 
     if (!String.IsNullOrEmpty(CurrentContent.Slider1Image)) 
     { 
      slider.InnerHtml += "<li class='foobar'>"; 
      if (!String.IsNullOrEmpty(CurrentContent.Slider1Title)) 
      { 
       slider.InnerHtml += "<img src='" + GetMedia(CurrentContent.Slider1Image) + "' alt='' />"; 
       slider.InnerHtml += "<div class='slider_content bx-pager-item'>"; 
       slider.InnerHtml += "<h1>" + CurrentContent.Slider1Title + "</h1>"; 
       if (!String.IsNullOrEmpty(CurrentContent.Slider1VideoButtonTitle) && !String.IsNullOrEmpty(CurrentContent.Slider1VideoLink)) 
        slider.InnerHtml += "<span>" + CurrentContent.Slider1VideoButtonTitle + "</span>"; 
       slider.InnerHtml += "</div>"; 
       if (!String.IsNullOrEmpty(CurrentContent.Slider1VideoButtonTitle) && !String.IsNullOrEmpty(CurrentContent.Slider1VideoLink)) 
       { 
        slider.InnerHtml += "<div class='video_wrapper'>"; 
        slider.InnerHtml += "<div class='youtube_container'>"; 
        slider.InnerHtml += "<div><iframe src='https://player.vimeo.com/video/" + CurrentContent.Slider1VideoLink + "' width='100%' height='542' frameborder='0' webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe></div>"; 
        slider.InnerHtml += "</div>"; 
        slider.InnerHtml += "</div>"; 
       } 
      } 
      slider.InnerHtml += "</li>"; 
     } 
} 

Я попытался добавить класс к <li> но это не не отображаются в HTML-разметке вообще. Я попытался построить проект, но без радости.

Вот разметку, выход:

<%@ Master Language="C#" MasterPageFile="~/masterpages/Base.master" AutoEventWireup="true" Inherits="HomePageType1" Codebehind="HomePageType1.master.cs" %> 
<asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> 
<div class="slider_container"> 
    <ul id="ContentPlaceHolderDefault_ContentPlaceHolder1_slider" class="bxslider"> 
     <li> 
      <img src='/media/img001.jpg' alt='' /> 
      <div class='slider_content'> 
       <!-- SLIDE CONTENT --> 
      </div> 
      <div class='video_wrapper'> 
       <div class='youtube_container'> 
        <div> 
         <!-- VIDEO URL --> 
        </div> 
       </div> 
      </div> 
     </li> 
    </ul> 
</div> 
</asp:Content> 

Любые предложения?

ответ

0

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

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

1

Любой код, добавленный в .cs-файл вне/App_Code /, должен быть скомпилирован до того, как он «подсчитает» - эту часть следует решать при создании проекта.

Кроме того, главная страница должна ссылаться на свой код позади для того, чтобы поднять его, как

<%@ Master Language="C#" 
    AutoEventWireup="true" CodeBehind="MyMasterpage.master.cs" Inherits="MyNamespace.MyMasterpage" %> 

Можете ли вы, возможно, также разделяют содержание главной страницы?

+0

ОК, папка 'App_Code' пуста, что я забываю? – Burgi

+0

Не забудьте App_Code then ;-) До тех пор, пока вы уверены, что ваш проект строит/компилирует правильно, ваш код позади должен быть удачным, но мне интересно, действительно ли ваша главная страница (файл .master) ссылается на код позади. –

+0

Страница главной страницы ссылается на файл кода, который я изменил (см. Редактирование вопроса). '<% @ Master Language =" C# "MasterPageFile =" ~/masterpages/Base.master "AutoEventWireup =" true "Inherits =" HomePageType1 "Codebehind =" HomePageType1.master.cs "%>' – Burgi