![](/img/trans.png)
[英]Registering JavaScript/CSS in a Custom Control for a New Umbraco Data Type
[英]Connecting to DB in Umbraco User/Custom Control Data Type
我正在为Umbraco网站开发一种新的数据类型,并一直在构建自定义控件来适应这种情况。 我需要查询活动数据源的文档类型。 它会返回几个,我想用这些项目填充一个DropDownBox。 我已经准备好查询并进行下拉列表,但是在连接数据库以执行查询时遇到了麻烦。 由于它位于自定义控件中,因此数据源不是内置在控件本身中,而是内置在Umbraco中。 任何帮助,将不胜感激!
如果有人感兴趣,我可以使用以下方法解决此问题。 包括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));
}
希望对别人也有帮助!
您还可以使用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,但我只是想引起人们对以下属性的关注:文本,别名和Id是您要使用DocType的可能项目。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.