2011-09-26 70 views
1

我有一个开发快速ASPxComboBox:ASPxComboBox“指定的转换无效”错误,当数据绑定

<dx:ASPxComboBox runat="server" ID="DropDownListTemplates" 
    DataSourceID="SqlDataSourceTemplates" ValueField="template_id" TextField="name" 
    ValueType="System.Int32" Enabled="false" Width="100%" SelectedIndex='<%# 
    Eval("subs_template") %>'/> 

会抛出一个“指定的转换无效错误”在运行时。这件事情做的

SelectedIndex='<%# Eval("subs_template") %>' 

表达,但是,subs_template保证是一个数字:

<asp:SqlDataSource ID="SqlDataSourceClientDetail" runat="server" 
     ConnectionString="<%$ code: AutoNat.ConnectionManager.AutoNatConnectionString %>" 
     SelectCommand="SELECT *, isnull(subs_template_id, 0) subs_template FROM [person] p WHERE [person_id][email protected]_id"> 
     <SelectParameters> 
      <asp:SessionParameter Name="person_id" SessionField="personID" Type="Int32" /> 
     </SelectParameters> 
    </asp:SqlDataSource> 

    <asp:SqlDataSource ID="SqlDataSourceTemplates" runat="server" ConnectionString="<%$ code: AutoNat.ConnectionManager.AutoNatConnectionString %>" 
     SelectCommand="SELECT * FROM 
         (SELECT t.template_id, name FROM subs_template t UNION SELECT 0, 'Custom...') s 
         ORDER BY template_id"> 
    </asp:SqlDataSource> 

为什么这样的失败?

我已经试过

SelectedIndex='<%# 0 %>' 

工作正常!

回答

1

你有没有试过把它转换成一个像这样的整数? Convert.ToInt32(Eval("subs_template"))

+0

工程。我应该想到这一点!非常感谢你的帮助 – Ryan

相关问题