我在回发后有一个下拉列表我想绑定第二个下拉列表。我得到了值但是没有显示在第二个数据中:EntityDropDownList。
<ItemTemplate>
<data:EntityDropDownList runat="server" ID="dataServiceTypeId" Enabled="false" DataSourceID="ServiceTypeIdServiceTypesDataSource"
DataTextField="ServiceCode" DataValueField="ServiceTypeId" SelectedValue='<%# Bind("ServiceTypeID") %>'
AppendNullItem="true" Required="true" NullItemText="< Please Choose ...>" ErrorText="Required" />
<data:ServiceTypesDataSource ID="ServiceTypeIdServiceTypesDataSource" runat="server"
SelectMethod="GetAll" />
</ItemTemplate>
<EditItemTemplate>
<data:EntityDropDownList runat="server" ID="dataServiceTypeId" DataSourceID="ServiceTypeIdServiceTypesDataSource" OnSelectedIndexChanged="Service_SelectChange" AutoPostBack="true"
DataTextField="ServiceCode" DataValueField="ServiceTypeId" SelectedValue='<%# Bind("ServiceTypeID") %>'
AppendNullItem="true" Required="true" NullItemText="< Please Choose ...>" ErrorText="Required" />
<data:ServiceTypesDataSource ID="ServiceTypeIdServiceTypesDataSource" runat="server"
SelectMethod="GetAll" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Default">
<ItemTemplate>
<asp:CheckBox ID="chkDefault" Checked='<%# Bind("IsDefault") %>' Enabled="false" runat="server" />
</ItemTemplate>
<EditItemTemplate>
<asp:CheckBox ID="chkDefault" Checked='<%# Bind("IsDefault") %>' runat="server" />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Plan">
<ItemTemplate>
<data:EntityDropDownList runat="server" ID="dataPricePlanId" Width="200px" />
</ItemTemplate>
<EditItemTemplate>
<data:EntityDropDownList runat="server" ID="dataPricePlanId" Width="200px" AppendNullItem="true" NullItemText="< Please Choose ...>" />
</EditItemTemplate>
</asp:TemplateField>
我的代码就是这个
protected void Service_SelectChange(object sender, EventArgs e)
{
dataPricePlanId.Items.Clear();
string sValue = ((EntityDropDownList)sender).SelectedValue;
int ServiceTypeId = Convert.ToInt32(sValue);
TList<PricePlans> _pricePlans = _pricePlanService.GetByServiceTypeId(ServiceTypeId);
_pricePlanService.DeepLoad(_pricePlans);
if (_pricePlans.Count > 0)
{
dataPricePlanId.DataSource = _pricePlans;
dataPricePlanId.DataTextField = "Description";
dataPricePlanId.DataValueField = "PricePlanId";
dataPricePlanId.DataBind();
}
else
{
dataPricePlanId.Items.Insert(0, new ListItem("No Plan For this Service", "0"));
}
}
我得到了价值,但我的网格在第二个下拉列表中没有约束力。你能帮我么 。
答案 0 :(得分:0)
尝试在itemdatabound事件中执行此操作
首先使用e.item.findcontrol(“下拉名称”)查找下拉列表。 与数据源绑定,然后设置选定的值。
感谢