tankgoing 2018-04-16 09:32 采纳率: 100%
浏览 659
已采纳

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

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

  • 写回答

1条回答 默认 最新

  • Go 旅城通票 2018-04-16 11:53
    关注

    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>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料