如何给DropDownList控件设置样式(ASP.NET MVC)

前话:

应学校领导要求,要给后台管理系统添加一个搜索功能,提供可选择选项。我选择使用DropDownList去实现,熟悉.net控件的都知道,DropDownList的样子非常丑,不论是边框长宽还是里面的下拉三角形,都给人很不舒服的感觉,作为一个爱美的女生,怎么可能容忍呢!!!

问题描述:

然后就开始各种查资料找解决方法,先贴没有美化的样子

 

下拉框的长度是根据选择项里长度最大的文本决定的,这样真的很丑有没有!

下面是代码,

<li class="list-group-item">
                @{
                    if (@ViewBag.key != "")
                    {
                        <input type="text" name="key" value=@ViewBag.key class="form-control no-padding-hr" style="border-radius: 0;" />
                    }
                    else
                    {
                        <input type="text" name="key" placeholder="请输入待搜索单位名称..." class="form-control no-padding-hr" style="border-radius: 0;" />
                    }
                }
            </li>

            <li class="list-group-item">
                @Html.DropDownListFor(model => model.CompanyNature, ViewBag.CompanyNature as IEnumerable<SelectListItem>)
            </li>

            <li class="list-group-item">
                @Html.DropDownListFor(model => model.CompanyBusiness, ViewBag.CompanyBusiness as IEnumerable<SelectListItem>)
                
            </li>

 

 

我们并不能直接在这里面给它设置样式

在网上找解决方法,有些建议直接用<select  class=””></select>标签,这样的话选择项就要直接在这个标签中手动写选择项,而且要改动的也比较打;还有些呢是直接进入.js文件去改样式,但是对于我这样的新手来说,这个好像不太可行。

然后我在页面中审查元素发现它生成的Html代码实际上还是Select

 

所以我就想到既然不能直接简单粗暴的添加样式,那能不能通过jQuery去给<select>标签添加样式呢,想到就试一下

很简单的加了两三行代码

$(document).ready(function(){

            $('select').addClass("form-control");

        });

这段代码的意思呢是在页面加载的时候就为select标签添加名为form-control的样式。

BootStrap是个简直不能更赞的东西了,用BootStrap写出来的页面简洁美观漂亮,它给提供了很多类,上面使用的form-control就是BootStrap类库中提供的,最后效果如下

 

这样就舒服多了有没有,整齐美观,实现方法也很简单

如果还想要更美的效果,比如颜色设置等等,可以自己写一个样式,然后用同样的方法加上就好了。(当我实现的那一刻简直开心到不行!)

 

posted @ 2016-05-21 13:54  Memory_lily  阅读(9355)  评论(0编辑  收藏  举报