我在radgrid editform模板中使用了两个radcombobox
<div class="art-layout-cell layout-item-1" style="width: 100%;">
<div class="art-layout-cell layout-item-4" style="width: 30%;">
<asp:Label ID="label_SelectCompany" AssociatedControlID="cmb_company" runat="server" Text="Company Name:" />
</div>
<div class="art-layout-cell layout-item-4" style="width: 60%;">
<telerik:RadComboBox runat="server" ID="cmb_company" Height="250" AppendDataBoundItems="True" CausesValidation="False" CollapseDelay="10" SelectedValue='<%# Bind("CompanyID") %>'
DataMember="DefaultView" AutoPostBack="true" ExpandDelay="0" ItemRequestTimeout="0" Width="80%" MarkFirstMatch="True" EmptyMessage="- Select Company -"
DataSourceID="SqlDataSource_Company" DataTextField="CompanyName" DataValueField="ID" OnSelectedIndexChanged="cmb_company_SelectedIndexChanged" />
<asp:RequiredFieldValidator ID="CompanyRequired" runat="server" ControlToValidate="cmb_company" ErrorMessage="*" ForeColor="Red" ValidationGroup="CompanyGroup" />
</div>
</div>
<div class="art-layout-cell layout-item-1" style="width: 100%;">
<div class="art-layout-cell layout-item-4" style="width: 30%;">
<asp:Label ID="label_CommercialActivity" AssociatedControlID="cmb_commercialActivity" runat="server" Text="Commercail Activity:" />
</div>
<div class="art-layout-cell layout-item-4" style="width: 60%;">
<telerik:RadComboBox runat="server" ID="cmb_commercialActivity" AppendDataBoundItems="True" CausesValidation="False" CollapseDelay="10" DataMember="DefaultView"
ExpandDelay="0" ItemRequestTimeout="0" Width="80%" MarkFirstMatch="True" EmptyMessage="- Select Commercial Activity -" SelectedValue='<%# Bind("EmployeeCommercialActivityID") %>'
DataSourceID="SqlDataSource_CommercialActivity" DataTextField="CommercialActivityEnglishName" DataValueField="ID" />
</div>
</div>
并且sqldatasource是:
<asp:SqlDataSource ID="SqlDataSource_CommercialActivity" runat="server" ConnectionString="<%$ ConnectionStrings:HRSystemDataBaseConnection %>" SelectCommand="SELECT APP_CompaniesCommercialActivities.ID, APP_CommercialActivities.CommercialActivityEnglishName FROM APP_CompaniesCommercialActivities INNER JOIN APP_CommercialActivities ON APP_CompaniesCommercialActivities.CommercialActivityID = APP_CommercialActivities.ID WHERE (APP_CompaniesCommercialActivities.CompanyID = @CompanyID) ORDER BY APP_CommercialActivities.CommercialActivityEnglishName">
<SelectParameters>
<asp:SessionParameter Name="CompanyID" SessionField="CompanyID" />
</SelectParameters>
</asp:SqlDataSource>
<asp:SqlDataSource ID="SqlDataSource_Company" runat="server" ConnectionString="<%$ ConnectionStrings:HRSystemDataBaseConnection %>"
SelectCommand="SELECT ID, CompanyName FROM APP_Companies ORDER BY CompanyName" />
,代码隐藏是:
protected void cmb_company_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
Session["CompanyID"] = e.Value;
GridEditFormItem _EditForm = (GridEditFormItem)((RadComboBox)sender).NamingContainer;
RadComboBox _CommercialActivity = (RadComboBox)_EditForm.FindControl("cmb_commercialActivity");
_CommercialActivity.ClearSelection();
}
当我试图更改公司名称时,它显示错误
“数据绑定方法(如Eval(),XPath()和Bind())只能在数据绑定控件的上下文中使用。”
此致