asp.net的dropdownlist部分用星号代替

我的dropdownlist是用for循环写进去的 有多少行不确定 然后每行的倒数二三位要显示星号 但是我又要用dropdownlist.SelectedValue的值 如果我用星号直接替换掉了 那我取出来的值就不能用了 我保存2个数据的话那我选了第几个也不好对应起来 有没有什么好方法 只显示部分星号又要保持数据完整

DropDownList有DataTextField和DataValueField这2个配置,你配置不同的列不就行了,DataValueField对应值,DataTextField对应显示的内容

如果不能改数据源,自己用js更新下客户端对应的option就行了

 <%@ Page Language="C#" %>
<meta charset="utf-8" />
<script runat="server">
    protected void Page_Load(object sender, EventArgs e)
    {
        System.Data.DataTable dt = new System.Data.DataTable();
        dt.Columns.Add("txt"); dt.Columns.Add("value");
        System.Data.DataRow dr = dt.NewRow();
        dr["txt"] = "txt**"; dr["value"] = "txt12";
        dt.Rows.Add(dr);
        ddl.DataTextField = "txt";
        ddl.DataValueField = "value";
        ddl.DataSource = dt; ddl.DataBind();
    }
</script>
<html>
    <head></head>
    <body>
        <form runat="server">
            <asp:DropDownList runat="server" ID="ddl"></asp:DropDownList>
        </form>
        <select id="Ddl">
            <option value="text1">text1</option>
            <option value="text2">text2</option>
            <option value="text3">text3</option>
            <option value="text4">text4</option>
        </select>
        <script>
            var s = document.getElementById('Ddl');
            for (var i = 0; i < s.options.length; i++) s.options[i].text = s.options[i].text.substring(0, s.options[i].text.length - 1) + '**'
        </script>
    </body>
</html>