本发明涉及网站技术开发领域,具体涉及一种统一配置数据源的web页面下拉列表实现方法。
背景技术:
目前网站开发中很多地方需要使用下拉列表,通常都是在页面对应的服务端读取数据,然后创建下拉列表显示在页面上。就算不同的页面使用同一个下拉列表,页面分别在服务端重复写读取数据创建下拉列表的代码;这样也会导致开发小效率低,代码不能复用。因为读取数据的代码分散在各个模块的不同页面,管理起来也不方便,容易出错从而读取了错误的数据。
技术实现要素:
本发明解决的技术问题在于提供一种统一配置数据源的web页面下拉列表实现方法,解决原来分散在各个模块不同页面读取数据创建下拉列表的问题。
本发明解决上述技术问题的技术方案是:
所述的方法是将下拉列表的数据源制作成模板,然后给属性设定数据源key;再通过在页面中调用指定模板生成下拉列表。
所述的方法具体包含以下几个步骤:
步骤一、实现GetSourceItems方法,根据数据源key返回对应的数据项列表;
步骤二、扩展MVC中HtmlHelper的DropDownList方法,通过调用
GetSourceItems方法读取数据源,然后根据得到的数据创建并返回select元素;
步骤三、编写DropDownList模板,调用上述DropDownList方法,在模板中生成下拉列表;
步骤四、在模型类中通过注解形式给需要生成下拉列表的属性值设定数据源key;
步骤五、在页面中调用Html.EditorFor方法并指定使用DropDownList模板,生成下拉列表。
本发明的有益效果:在模型类中给属性设定数据源key后,然后统一的方法里根据数据源key读取数据,实现不同的页面调用生成同一个下拉列表,数据都是一致的,达到数据源统一配置。下拉列表的生成制作成模板,通过调用指定模板生成下拉列表,实现了编写更少的代码实现同样的功能,也实现了代码的复用。采用这种形式可以实现统一配置数据源在web页面生成下拉列表的目的。
附图说明
下面结合附图对本发明进一步说明:
图1为本发明的流程图。
具体实施方式
如图1所示,本发明采用如下步骤:
步骤一、实现GetSourceItems方法,根据数据源key返回对应的数据项列表;
步骤二、扩展MVC中HtmlHelper的DropDownList方法,通过调用GetSourceItems方法读取数据源,然后根据得到的数据创建并返回select元素;
步骤三、编写DropDownList模板,调用上面写的DropDownList方法,在模板中生成下拉列表;
步骤四、在模型类中通过注解形式给需要生成下拉列表的属性值设定数据源key;
[DropdownList(\"NewsType\")]
public int NewsType{get;set;}
步骤五、在页面中调用Html.EditorFor方法并指定使用DropDownList模板,生成下拉列表。
@Html.EditorFor(m=>m.NewsType,\"DropDownList\")。