2011-04-20 47 views
0

我工作的一個新的數據類型爲一把umbraco網站,並已建立一個自定義的控制,以適應這種連接到數據庫。我需要查詢文檔類型的活動數據源。它會返回幾個,我想用這些項目填充DropDownBox。我已經有了查詢並準備好了,但是我無法連接到數據庫來執行查詢。由於它在自定義控件中,因此數據源不是內置於控件本身,而是內置於Umbraco中。任何幫助,將不勝感激!在一把umbraco用戶/自定義控件數據類型

+0

聽起來很明顯,但你這樣做http://tinyurl.com/3u9e87b。我認爲你需要更多關於設置數據源的信息,在這種情況下,你可以參考任何文章。 Puttin作爲評論,因爲你的問題對我來說不是很清楚。 – 2011-04-20 12:30:24

+0

當然,我甚至在這裏發帖之前檢查了一把umbraco論壇的支持。我只是喜歡開發社區在這裏並推斷,如果別人用一把umbraco經驗橫跨問題跌跌撞撞這將是他們一個簡單的答案。數據源被內置到一把umbraco的安裝,所以我猜有我可以使用的地方通過查詢並獲得滿意的結果,只是一直沒能找到其中的方法。 – Dexter 2011-04-20 12:43:53

回答

1

如果有人有興趣,我可以解決這個使用以下。包括ISqlHelper的方法:

public static ISqlHelper SqlHelper 
    { 
     get 
     { 
      return Application.SqlHelper; 
     } 
    } 

使用ISqlHelper,我能夠運行一個查詢並填充下拉:

IRecordsReader docTypes = SqlHelper.ExecuteReader("SELECT nodeId, alias FROM cmsContentType WHERE alias IN ('Product','Article') ORDER BY alias"); 

     while (docTypes.Read()) 
     { 
      string dtName = docTypes.GetString("alias"); 
      string dtId = docTypes.GetInt("nodeId").ToString(); 

      _lstDocType.Items.Add(new ListItem(dtName, dtId)); 
     } 

希望幫助別人呢!

0

您還可以使用一把umbraco業務邏輯把所有的文件類型與:

var DocTypes = um.cms.businesslogic.web.DocumentType.GetAllAsList(); 
var DocTypeDropDown = new DropDownList(); 
foreach (var DocType in DocTypes) 
{ 
    var DocTypeListItem = new ListItem 
    { 
     Text = DocType.Text, 
     Value = DocType.Id.ToString() 
    }; 
    DocTypeListItem.Attributes.Add("rel", DocType.Alias); 
    DocTypeDropDown.Items.Add(DocTypeListItem); 
} 

可以很明顯的安排DropDownList的,只要你喜歡,我只是想提醒大家注意的屬性:文本,別名,以及您希望使用DocType的可能項目。

相關問題