首页 技术 正文
技术 2022年11月14日
0 收藏 688 点赞 2,547 浏览 1320 个字

上一篇介绍了在定义Document Type中的属性时用到的Data Type,当使用dropdown list如何调用外部数据源,可以根据提供的数据连接字符串,sql语句就能实现你想要显示的数据。

其实还可以对其有一些扩展。

例如,数据库连接字符串可以定义在配置文件中,这样的话维护起来变得更方便,而不需要重新修改一下Data Type,如果你的很多Data Type都用到了同一个数据源,修改起来岂不是很烦锁。

如何在创建Data Type的时候,在配置信息里选择数据源,这需要编写一些代码。

 public class ConnectionStringPicker : DataEditorSettingType
{
private DropDownList ddl = new DropDownList(); private string _val = string.Empty;
public override string Value
{
get
{
return ddl.SelectedValue;
}
set
{
if (!string.IsNullOrEmpty(value))
_val = value;
}
} public override Control RenderControl(DataEditorSetting setting)
{
ddl.ID = setting.GetName();
ddl.Items.Clear();
for (int i = ; i < ConfigurationManager.ConnectionStrings.Count; i++)
{
ddl.Items.Add(
new ListItem(
ConfigurationManager.ConnectionStrings[i].Name,
ConfigurationManager.ConnectionStrings[i].ConnectionString));
}
ddl.Items.Insert(,
new ListItem(String.Empty, String.Empty)); ddl.SelectedValue = _val; return ddl;
}
}

将上一篇里的Demo代码略微替换一下

[DataEditorSetting(“Connection String”, type=typeof(ConnectionStringPicker))] public String ConnectionString { get; set; }

效果

[Umbraco] 自定义DataType中Data Editor Setting Type

web.config配置信息

 <connectionStrings>
<add name="Sample" connectionString="server=.\;database=aspnetdb;userid=user;password=userpass" providerName="System.Data.SqlClient"/>
<add name="AnotherSample" connectionString="server=.\;database=aspnetdb;userid=user;password=userpass" providerName="System.Data.SqlClient"/>
</connectionStrings>
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,082
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,557
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,406
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,179
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,815
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,898