none
关于dropdownlist的非常奇怪的问题 RRS feed

  • 问题

  • 对一个已经绑定的dropdownlist1,我在后台中用dropdownlist1.selecteditem.text获取相应值,但是的到的字符串总是自动在末尾加上一个空字符串(就是空格),这是为什么?
    2010年4月12日 14:00

全部回复

  • 检查下是不是你的数据源中绑定的TEXT中包含空格,


    努力+方法=成功
    2010年4月12日 14:43
  • 非常感谢你回答我的问题,

    数据源中没有空格,我用sqlcommand查询出的同一字段并不包含空格;

    难道是dropdownlist控件就是这么设计的?

     

    2010年4月13日 1:27
  • 你是怎么绑定的,把代码贴出来,


    努力+方法=成功
    2010年4月13日 2:47
  • 你好 如果数据源中本身没有空格 那么可能就如开心所述是你绑定的问题

    或者你查看下页面源代码 看下select tag之间的text是否包含空格


    I see you~http://hi.baidu.com/1987raymondMy Blog~~~
    2010年4月13日 12:09
    版主
  • 谢谢

    页面源代码select tag之间确实有空格,但是这已经是dropdownlist呈现完毕了

    我的aspx代码是:

    <asp:DropDownList ID="DropDownList1" runat="server" 

            DataSourceID="SqlDataSource1" DataTextField="role" DataValueField="username" 

             ></asp:DropDownList>

    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 

            ConnectionString="<%$ ConnectionStrings:CollConnectionString %>" 

            SelectCommand="GetSubRole" SelectCommandType="StoredProcedure">

            <SelectParameters>

                <asp:Parameter DefaultValue="0" Name="superId" Type="String" />

            </SelectParameters>

        </asp:SqlDataSource>

    2010年4月13日 12:26
  • 你好 但从你的页面控件绑定来看 看不出不合适的地方

    建议你检查下GetSubRole这个存储过程


    I see you~http://hi.baidu.com/1987raymondMy Blog~~~
    2010年4月14日 1:04
    版主
  • 谢谢
    我的存储过程是
    ALTER PROCEDURE GetSubRole

    (@superId nchar(10))
    AS
    /* SET NOCOUNT ON */
    BEGIN
    SELECT member.role,member.username  FROM member INNER JOIN rolerelation ON username=subId WHERE superId=@superId
    END
    RETURN

    请指教
    2010年4月14日 8:04