-3

こんにちは、Sitecore の初心者です。Sitecore_web データベース内のテーブルからドロップダウン リストに入力したいので、Sitecore API を介して Sitecore Web データベースから任意のテーブル値にアクセスする方法を知りたいです。Sitecore クエリを使用して Sitecore_Web データベースからデータにアクセスするにはどうすればよいですか?

4

4 に答える 4

0

Sitecore のデフォルトでは、Sitecore API を使用して埋められたオブジェクト以外の実際のデータベース オブジェクトを操作することはありません。Sitecore API は、Sitecore バックエンドからのデータを提供します。データソースとしてアイテムのリストをドロップダウンに入力したい場合は、次のようにしてみてください。

var items = Sitecore.Context.Item.GetChildren().toList(); yourdropdown.Datasource = アイテム; yourdropdown.Databind();

明らかに Datatext と Datevalue キーを正しく設定しますが、それは標準の .Net です。Sitecore では、データベースからデータを直接取得して Sitecore API を使用しないでください。

于 2013-10-30T09:42:24.750 に答える
0

Sitecore クライマーが述べたように、Sitecore データベースに直接アクセスすることはありません。これは Sitecore によってサポートされているものではありません。通常、次の手順を使用して、Sitecore API を介してこれを実現します。

  1. ドロップダウン アイテムを表す子アイテムを含む Sitecore ツリーからノードを取得する
  2. 子アイテムを取得する
  3. ドロップダウンリストを子アイテムのリストにデータバインドします

ascx では、次のようになります。

<asp:DropDownList ID="exampleDropDown" runat="server"/>

コードビハインドで:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        var item = Sitecore.Context.Database.GetItem("/sitecore/content/SiteData/StuffForADropDownList");
        if (item != null)
        {
            exampleDropDown.DataTextField = "Text";
            exampleDropDown.DataValueField = "Value";
            exampleDropDown.DataSource = from i in item.Children.AsEnumerable<Sitecore.Data.Items.Item>()
                    select new
                    {
                        Text = i["Text"],
                        Value = i.ID.ToString()
                    };
            exampleDropDown.DataBind();
        }
    }
}

/sitecore/content/SiteData/StuffForADropDownListこの例では、いくつかの子アイテムを持つアイテムが にあり、それぞれに というフィールドがあることを前提としていますText

于 2013-10-29T14:26:14.567 に答える