添加到CodeBehind的代码未执行

时间:2016-09-09 09:51:13

标签: c# umbraco6

我对Umbraco非常陌生,我仍然在探索它是如何运作的,所以我完全有可能错过了一些非常明显的东西。

我被要求修改MasterPage上滑块的功能,我发现滑块的标记位于MasterPage的.cs文件中。

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>

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

添加到/ App_Code /之外的.cs文件中的任何代码必须在“计数”之前进行编译 - 在构建项目时应该处理该部分。

此外,母版页必须引用其后面的代码才能将其选中,例如

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

您是否也可以共享母版页内容?

答案 1 :(得分:0)

这个功能不正常的原因是因为之前的开发人员编译了他们的代码,但也将C#文件上传到了服务器。所以收到的文件都是编译好的。

经过多次政治争论后,我们让他们向我们发送未编译的文件,这些文件允许我按预期更改代码。