asp.net - 下拉列表值和文本需要修剪

标签 asp.net tsql drop-down-menu

我有一个由 sqldatasource 填充的下拉列表,当我查看之后创建的 HTML 时,值和文本中有很多空格。这一定是因为数据库中字段的长度是 50。

例如

HTML是这样的

        <select name="DropDownList1" onchange="javascript:setTimeout('__doPostBack(\'DropDownList1\',\'\')', 0)" id="DropDownList1" style="height:23px;width:148px;">
    <option value="IT  Dev                                           ">IT  Dev                                           </option>
    <option value="Marketing                                         ">Marketing                                         </option>
    <option value="HR                                                ">HR                                                </option>
    <option selected="selected" value="Finance                                           ">Finance                                           </option>
    <option value="Corporate                                         ">Corporate                                         </option>
    <option value="IT Support                                        ">IT Support                                        </option>

</select>

控件源是:

        <asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataSourceID="SqlDataSource2"
            DataValueField="dept_name" Height="23px" Width="148px">
            <asp:ListItem Text="All" Value="%"></asp:ListItem>
        </asp:DropDownList>

        <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:scConnString %>"
            SelectCommand="SELECT dept_name FROM depts"></asp:SqlDataSource

我可以在我的 sql 中删除值,或者在填充下拉列表中的项目吗?

有什么想法吗?

最佳答案

您不能修剪固定长度的数据。它总是会被填充回 50。

所以 CAST 然后修剪

SELECT RTRIM(CAST(dept_name AS varchar(50))) AS dept_name FROM depts

--other options, after comment
SELECT RTRIM(CAST(dept_name AS varchar(50))) dept_name FROM depts
SELECT dept_name = RTRIM(CAST(dept_name AS varchar(50))) FROM depts

或者在客户端代码中修复

关于asp.net - 下拉列表值和文本需要修剪,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4270801/

相关文章:

html - 让 bootstrap 下拉菜单只向下移动?

javascript - jquery 下拉 btn bootstrap 设置默认值

c# - 遍历请求对象键

javascript - 需要 JavaScript 来启用或禁用复选框

c# - 具有查询字符串参数的站点中的 SEO 关键字

sql - T-SQL 中的悬空 "else"分辨率

sql - TSQL where 语句中如果参数为空的情况

SQL选择日期范围的第一个值和最后一个值

android - 将微调器/下拉菜单添加到 Android 5.0 中的菜单栏

c# - 如何在 ASP. NET Core 中使用 jquery