У меня есть Dev Express 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]=@person_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 %>'
который отлично работает!