在代码隐藏中获取Dropink的值

Get value of droplink in Code-Behind(在代码隐藏中获取Dropink的值)
本文介绍了在代码隐藏中获取Dropink的值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试在后端C#代码中获取Dropink中项目的显示名称。我使用的是Sitecore 6.6,而不是MVC,并且在CMS中为名为Address的客户端设置了一个Dropink控件。Dropink源转到/sitecore/Templates/User Defined/WAC/Address,各个项目都有一个符合SEO的名称和一个可读的显示名称。

例如:

  • 项目ID:{9E60F5F8-FBF2-4cbd-bb13-6A93397AAC87}
  • 名称:100-Main-Street
  • 展示名称:样板镇100Main Street,10011

我的代码:

protected void Page_Load(object sender, EventArgs e)
{
    String sl = "";
    Sitecore.Data.Items.Item currentItem = Sitecore.Context.Item;
    // BEGIN main class list
    Sitecore.Collections.ChildList classList = currentItem.Children;
    foreach (Sitecore.Data.Items.Item mainPage in classList)
    {
        if (mainPage.TemplateID.ToString() == "{27A9692F-AE94-4507-8714-5BBBE1DB88FC}")
        {
            sl += "<span class="address">" + mainPage.Fields["Address"] +"</span>";
        }                            
        else
        {
        }
    }
    // END main class list
    classSessionList.Text = sl;
}

此代码将给我物品的ID。如果我使用mainPage.Fields["Address"].DisplayName,我会得到"address"。

如何从Dropink获取项目的显示名称?

推荐答案

使用LookupField获取引用项以下是示例代码:

LookupField address= (LookupField)mainPage.Fields["Address"];
Item addressItem = address.TargetItem;
string displayName = addressItem.Fields["DisplayName"].Value;

如果您希望它在一行中,则使用以下代码:

((LookupField)mainPage.Fields["Address"]).TargetItem.DisplayName

这篇关于在代码隐藏中获取Dropink的值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

DispatcherQueue null when trying to update Ui property in ViewModel(尝试更新ViewModel中的Ui属性时DispatcherQueue为空)
Drawing over all windows on multiple monitors(在多个监视器上绘制所有窗口)
Programmatically show the desktop(以编程方式显示桌面)
c# Generic Setlt;Tgt; implementation to access objects by type(按类型访问对象的C#泛型集实现)
InvalidOperationException When using Context Injection in ASP.Net Core(在ASP.NET核心中使用上下文注入时发生InvalidOperationException)
LINQ many-to-many relationship, how to write a correct WHERE clause?(LINQ多对多关系,如何写一个正确的WHERE子句?)