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

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

1个回答

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>
showbo
支付宝加好友偷能量挖,胡杨在等着我的召唤 回复tankgoing: DataTextField是数据源的,你直接操作ddl的Items要这样ddl.Items.Add(new ListItem("abc**", "abc12"))。用ListItem,第一个参数实现的内容,第二个是值
2 年多之前 回复
tankgoing
tankgoing 比如我dropDownList1.Items.add(myValue);dropDownList1.DataTextField=myValue.Replace(myValue.Substring(3),"*");dropDownList1.DataValueField=myValue;为什么没用呢。。是应该怎么写呢
2 年多之前 回复
tankgoing
tankgoing 比如我dropDownList1.Items.add(myValue);dropDownList1.DataTextField=myValue.Replace()
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问