重载asp.net的dropdownlist控件,使其支持样式和空格的一点改进

参考:http://kb.cnblogs.com/a/391555/

这个代码很好用,让呆板的DropDownList可以添加漂亮的样式,并且支持空格.

也很有代表性,可以让大家举一反三,灵活使用其他asp控件.

但在应用的时候,发现了一点小问题:

原作代码用(char)58853来替换" ",效果看上去是像空格,但并不是空格,如果浏览器切换编码,就会显示乱码.

为了解决这个问题,我对原代码稍做修改,就可以任意切换都不会有问题.修改后的代码如下:

  

下面对使用方法归纳整理下,便于初学者使用:

1> 将上面的代码单独保存为.cs文件,比如MyDropdownlist.cs

2>把文件MyDropdownlist.cs拷贝到C:/WINDOWS/Microsoft.NET/Framework/v3.5文件下

   (相信大家的Framework都是3.5了, 如果不是,请选相应的文件夹).

3>运行->程序->附件->dos命令控制台,打开命令窗后,输入cd C:/WINDOWS/Microsoft.NET/Framework/v3.5,

   回车进入该目录,再输入csc /t:library MyDropdownlist.cs,回车.

4>把该目录下生成的MyDropdownlist.dll拷贝到你的工程文件里面的/WEB/BIN文件夹下.

5>需要使用该MyDropdownlist控件的页面文件(.aspx)顶部添加如下代码:

 

 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="TEST.aspx.cs" Inherits="WebApplication.TEST" %>
 <%@ Register TagPrefix="myDDL" Namespace="reworkControl" Assembly="MyDropdownlist" %>  //在这个位置添加这行代码
 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-  transitional.dtd">
 <html xmlns="http://www.w3.org/1999/xhtml">
 <head>
   ... ...

6>.aspx页面调用的代码如下:

<myDDL:MyDropdownlist ID="xxx" runat="server" Width="12px" DataTextField="Name" DataValueField="Id" />

//跟调用asp原控件是一样的,<asp:dropdownlis id="xxx" runat="server" ... ... />

7>页面后台控制代码例子(照搬原例子):

    protected void Page_Load(object sender, EventArgs e)
    {
        ListItem item = new ListItem("&nbsp;&nbsp;萧萧", "bb");
        item.Attributes.Add("style", "color:#ff3939");
        item.Attributes.Add("onClick", "alert('你好')");
        drp.Items.Add(item);
        item = new ListItem("&nbsp;&nbsp;欢欢", "cj");
        item.Attributes.Add("style", "color:#ff39ee");
        item.Attributes.Add("onclick", "alert('我好')");
        drp.Items.Add(item);
    }

 

相信大家都会用了吧,怎么样,知道怎么举一反三,改造其他控件来吗?

当然,不是特别需要,最好不要随便拓展控件哦.

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值