Estoy trabajando en un sitio web de Dynamic Data y me he topado con un muro. Tengo una página de Detalles donde se pueden ver los detalles de cada empleado, y luego tengo una página separada para editar cada empleado. Hice esto porque necesito usar cuadros DropDownList para Departamento y Trabajo en cada departamento. Sin embargo, tengo problemas para acceder al ddl del departamento y creo que es porque está dentro de EditItemTemplate. Aquí es lo que tengo:No se pudo encontrar Control en ControlParameter dentro de EditItemTemplate
<asp:DetailsView ID="dvEmployee"
DataSourceID="EmpDVds"
AutoGenerateRows="false"
DataKeyNames="Id"
GridLines="None"
CellSpacing="10"
runat="server" DefaultMode="Edit">
<Fields>
<asp:TemplateField HeaderStyle-Font-Bold="true" HeaderText="Department: ">
<EditItemTemplate>
<asp:DropDownList ID="ddlDept" DataSourceID="DeptDDLds" DataTextField = "DepartmentName" DataValueField = "Id" runat="server" SelectedValue='<%#Bind("DeptID") %>' />
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderStyle-Font-Bold="true" HeaderText="Job Code: ">
<EditItemTemplate>
<asp:DropDownList ID="ddlJob" DataSourceID="JobDDLds" DataTextField = "JobName" DataValueField = "Id" runat="server" />
</EditItemTemplate>
</asp:TemplateField>
</Fields>
entonces estoy tratando de utilizar el ddlDept SelectedValue para poblar el ddlJob. Aquí está el DataSource que intento usar.
<asp:SqlDataSource ID="JobDDLds"
SelectCommand="
SELECT
Id,
Code+' - '+[Desc] AS JobName,
Department_Id
FROM
JobCodes
WHERE
JobCodes.Department_Id = @DeptID"
ConnectionString="<%$ConnectionStrings:TrainingDatabaseConnection %>" runat="server" >
<SelectParameters>
<asp:ControlParameter ControlID="ddlDept" PropertyName="SelectedValue"
Name="DeptID" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>
sé que el formato del parámetro Select es correcta porque estoy utilizando otra DDL para poblar el DetailsView y sé la relación entre Departamentos y JobCodes es correcta, porque lo estoy usando con éxito en la página AddEmployee.
Aquí está el error que consigo:
No se pudo encontrar el control 'ddlDept' en 'DeptID' ControlParameter.
¿Estoy en lo cierto al suponer que no puede acceder al ddlDept por su ID porque está en EditItemTemplate? ¿Cómo puedo arreglar esto? Otras sugerencias sobre cómo lograr esto? Cualquier y toda ayuda es muy apreciada.
Compruebe si [esto] (http://geekswithblogs.net/AzamSharp/archive/2006/08/27/89475.aspx) ayuda. No es una solución ideal, pero podría funcionar para usted. –