Macros 加载宏引擎脚本时出错(文件:LawyerProfileView.cshtml)

Macros 加载宏引擎脚本时出错(文件:LawyerProfileView.cshtml),macros,umbraco,visual-studio-macros,Macros,Umbraco,Visual Studio Macros,在我被交给的网站上工作,突然有几个宏开始播放。宏工作正常,现在突然出现了这个错误。有人能帮忙吗?这里是代码 @using umbraco.MacroEngines @inherits umbraco.MacroEngines.DynamicNodeContext @functions{ public void SetPageTitle(string title) { var page

在我被交给的网站上工作,突然有几个宏开始播放。宏工作正常,现在突然出现了这个错误。有人能帮忙吗?这里是代码

@using umbraco.MacroEngines
@inherits umbraco.MacroEngines.DynamicNodeContext
          @functions{

              public void SetPageTitle(string title)
              {
                  var page = HttpContext.Current.Handler as Page;
                  if (page != null){
                      page.Title = title;
                  }
              }

              public DynamicNode Homepage
              {
                  get { 
                      var homepage = Model;
                      while(homepage.NodeTypeAlias != "Homepage"){
                          homepage = homepage.Parent;
                      }

                      return homepage;
                  }
              }

              public HtmlString GetSocialMediaLink(string network, string url, string name)
              {
                  var socialMediaRepo = Library.NodeById(-1).DescendantsOrSelf("SocialMediaNetworkRepository").First();
                  var socialNetworks = new List<DynamicNode>();
                  if (socialMediaRepo != null)
                  {
                      foreach (var child in socialMediaRepo.Children)
                      {
                          if(child.NodeTypeAlias.ToLower().Equals(network.ToLower())){
                              var icon = child.HasValue("CssClass") ? String.Format("<i class=\"{0}\"></i>", child.CssClass) : String.Format("<img src=\"/imagegen.ashx?altimage=/images/assets/clear.gif&image={0}\" alt=\"{1}\"/>", child.Icon, child.Name);
                              return new HtmlString(String.Format("<a target=\"_blank\" rel=\"no-follow\" href=\"{0}\" title=\"{3} on {1}\">{2}</a>", url, child.Name, icon, name) );
                          }
                          socialNetworks.Add(child);
                      }
                  }
                  return new HtmlString("");
              }

          }
@{
if (String.IsNullOrEmpty(Request["name"])){
    return;
}
var profileId = Request["name"].Replace("-", " ").Replace("/", "");

var lawyersRepository = Library.NodeById(1316);
var isIntranet = Homepage.Name.IndexOf("intranet", StringComparison.OrdinalIgnoreCase) > -1;
var nodes = isIntranet ? lawyersRepository.Children.Where("Name.ToLower() = \"" + profileId.ToLower() + "\"") : lawyersRepository.Children.Where("!ProfileIsPrivate && Name.ToLower() = \"" + profileId.ToLower() + "\"");
if(!nodes.Any()){
    return;
}
var node = nodes.First();
if (node == null || node.NodeTypeAlias != "LawyerRepositoryItem"){
    return;
}

if (node.ProfileIsPrivate && !isIntranet){
    return;
}

PageData["PageTitle"] = Model.Name + " - " + node.Name;

SetPageTitle(Model.Name + " - " + node.Name);
var hasContactInfo = (!String.IsNullOrEmpty(node.TelephoneNumber) || !String.IsNullOrEmpty(node.EmailAddress) || !String.IsNullOrEmpty(node.OfficeLocation));
<div class="profile">
    <div class="row">
        <div class="span4 profile-content">
            <h1>@node.Name</h1>
            <h3>@node.JobTitle</h3>
            @Html.Raw(node.Biography.ToString())
        </div>
        <div class="span2">
            <div class="profile-picture">
                @{
                    if (!node.HasValue("ProfilePictureSquare")){
                        <img src="/imagegen.ashx?altimage=/images/assets/clear.gif&image=@Library.MediaById(node.ProfilePicture).umbracoFile" alt="@node.Name" />
                    }
                    else{
                        <img src="/imagegen.ashx?altimage=/images/assets/clear.gif&image=@Library.MediaById(node.ProfilePictureSquare).umbracoFile" alt="@node.Name" />
                    }
                }

            </div>
            <div class="profile-quote">
                <!--Tesimonial-->
                @RenderPage("~/macroScripts/Widgets/Widget_RandomTestimonial.cshtml", @node.Id.ToString())
            </div>
        </div>
        @if (hasContactInfo)
        {
            <div class="contact-information">
                <div class="pull-left contact-details">
                    <h4>@Dictionary.ContactInformationHeading</h4>
                    <dl class="">
                        @{
            if (node.HasValue("TelephoneNumber"))
            {
                                <dd><strong>@Dictionary.Label_TelephoneShort:</strong>  @node.TelephoneNumber</dd>
            }
            if (node.HasValue("EmailAddress"))
            {
                                <dd><strong>@Dictionary.Label_EmailShort:</strong> <a href="mailto:@node.EmailAddress?subject=@Dictionary.DefaultEmailSubjectLine">@node.EmailAddress</a></dd>
            }
            if (node.HasValue("OfficeLocation"))
            {
                var officeNode = Library.NodeById(node.OfficeLocation);
                                <dd><strong>@Dictionary.Label_Office:</strong> <a href="@officeNode.NiceUrl" title="@officeNode.Name">@officeNode.Name</a></dd>
            }
                        }
                    </dl>
                </div>
                <div class="pull-left contact-vcard">
                    <h4>
                        <a href="/vcard.ashx?contact=@node.Id" title="@Dictionary.DownloadVCard"><i class="t-icon-vcard"></i> <span>@Dictionary.DownloadVCard</span></a></h4>
                </div>
            </div>
        }
        @{
            var hasSocialMediaUrls = node.HasValue("FacebookUrl") || node.HasValue("TwitterUrl") || node.HasValue("LinkedInUrl") || node.HasValue("YouTubeUrl") || node.HasValue("BlogUrl");
            if (hasSocialMediaUrls)
            {
                <div class="profile-social-links social-links">

                    <ul class="unstyled">
                        <li><strong>@Dictionary.Connect</strong></li>
                        @if (node.HasValue("FacebookUrl"))
                        {
                            <li>@GetSocialMediaLink("facebook", node.FacebookUrl, node.Name)</li>
                        }
                        @if (node.HasValue("TwitterUrl"))
                        {
                            <li>@GetSocialMediaLink("twitter", node.TwitterUrl, node.Name)</li>
                        }
                        @if (node.HasValue("LinkedInUrl"))
                        {
                            <li>@GetSocialMediaLink("linkedin", node.LinkedInUrl, node.Name)</li>
                        }
                        @if (node.HasValue("YouTubeUrl"))
                        {
                            <li>@GetSocialMediaLink("youtube", node.YouTubeUrl, node.Name)</li>
                        }
                        @if (node.HasValue("BlogUrl"))
                        {
                            <li>@GetSocialMediaLink("blogger", node.BlogUrl, node.Name)</li>
                        }
                    </ul>

                </div>
            }
        }
    </div>
    <div class="gold-bar">
        <a href="@Dictionary.SubmitTestimonialLink@Dictionary.SubmitTestimonialLinkParameters.Replace("{Name}", node.Name)">@Dictionary.SubmitTestimonialText</a>
    </div>
</div>
        }
@使用umbraco.MacroEngines
@继承umbraco.MacroEngines.dynamicontext
@功能{
public void SetPageTitle(字符串标题)
{
var page=HttpContext.Current.Handler作为页面;
如果(第页!=null){
页面标题=标题;
}
}
公共动态节点主页
{
获取{
var=模型;
while(homepage.NodeTypeAlias!=“homepage”){
主页=主页。家长;
}
返回主页;
}
}
公共HtmlString GetSocialMediaLink(字符串网络、字符串url、字符串名称)
{
var socialMediaRepo=Library.NodeById(-1).genderantsorself(“SocialMediaNetworkRepository”).First();
var socialNetworks=新列表();
如果(socialMediaRepo!=null)
{
foreach(在socialMediaRepo.Children中的变量Children)
{
if(child.NodeTypeAlias.ToLower().Equals(network.ToLower())){
var icon=child.HasValue(“CssClass”)?String.Format(“”,child.CssClass):String.Format(“”,child.icon,child.Name);
返回新的HtmlString(String.Format(“”,url,child.Name,icon,Name));
}
添加(儿童);
}
}
返回新的HtmlString(“”);
}
}
@{
if(String.IsNullOrEmpty(请求[“名称])){
返回;
}
var profileId=Request[“name”]。替换(“-”,“”)。替换(“/”,“”);
var lawyersRepository=Library.NodeById(1316);
var isIntranet=Homepage.Name.IndexOf(“intranet”,StringComparison.OrdinalIgnoreCase)>-1;
var nodes=isIntranet?lawyersRepository.Children.Where(“Name.ToLower()=\”+profileId.ToLower()+“\”):lawyersRepository.Children.Where(“!ProfileIsPrivate&&Name.ToLower()=\”+profileId.ToLower()+”);
如果(!nodes.Any()){
返回;
}
var node=nodes.First();
if(node==null | | node.NodeTypeAlias!=“LawyerRepositoryItem”){
返回;
}
if(node.ProfileIsPrivate&&!isIntranet){
返回;
}
PageData[“PageTitle”]=Model.Name+“-”+node.Name;
SetPageTitle(Model.Name+“-”+node.Name);
var hasContactInfo=(!String.IsNullOrEmpty(node.TelephoneNumber)| |!String.IsNullOrEmpty(node.EmailAddress)| |!String.IsNullOrEmpty(node.OfficeLocation));
@node.Name
@node.JobTitle
@Html.Raw(node.传记.ToString())
@{
如果(!node.HasValue(“ProfilePictureSquare”)){
}
否则{
}
}
@RenderPage(“~/MacroScript/Widgets/Widget\u randomEstimational.cshtml”,@node.Id.ToString())
@如果(hasContactInfo)
{
@字典.联系人信息标题
@{
if(node.HasValue(“电话号码”))
{
@Dictionary.Label\u TelephoneShort:@node.TelephoneNumber
}
if(node.HasValue(“EmailAddress”))
{
@Dictionary.Label\u EmailShort:
}
if(node.HasValue(“OfficeLocation”))
{
var officeNode=Library.NodeById(node.OfficeLocation);
@Dictionary.Label\u办公室:
}
}
}
@{
var hasSocialMediaUrls=node.HasValue(“FacebookUrl”)|| node.HasValue(“TwitterUrl”)| node.HasValue(“LinkedInUrl”)|| node.HasValue(“BlogUrl”);
if(hassocialmediaurl)
{
  • @Dictionary.Connect
  • @if(node.HasValue(“FacebookUrl”)) {
  • @GetSocialMediaLink(“facebook”,node.FacebookUrl,node.Name)
  • } @if(node.HasValue(“TwitterUrl”)) {
  • @GetSocialMediaLink(“twitter”,node.TwitterUrl,node.Name)
  • } @if(node.HasValue(“LinkedInUrl”)) {
  • @GetSocialMediaLink(“linkedin”,node.LinkedInUrl,node.Name)
  • } @if(node.HasValue(“YouTubeUrl”)) {
  • @GetSocialMediaLink(“youtube”,node.YouTubeUrl,node.Name)
  • } @if(node.HasValue(“BlogUrl”)) {
  • @GetSocialMediaLink(“blogger”,node.BlogUrl,node.Name)
  • }
} } }

我已尝试从备份文件加载,但问题仍然存在。

您需要找出出现此错误的原因

如果您在macr中运行