consulta sobre DatasourceId y DataSource
Frecuentes
Visto 336 equipos
0
hay dos mesas
EmpInf
EmpId,
EmpName,
Salary,
DepartNumber.
Dept
DeptNo,
Deptname,
tengo un linqdatasource control
como
<asp:LinqDataSource ID="LinqDataSource1" runat="server" EntityTypeName=""
ContextTypeName="FilterControl.DataClasses1DataContext" EnableDelete="True"
EnableInsert="True" EnableUpdate="True" OrderBy="DeptName"
TableName="Dept1s" Select="new (DeptNo, DeptName)">
</asp:LinqDataSource>
a listview
<asp:ListView ID="ListView1" runat="server" DataSourceID="LinqDataSource1"
style="z-index: 1; left: 10px; top: 34px; position: absolute; height: 63px; width: 293px"
>
<AlternatingItemTemplate>
<tr style="">
<td>
<asp:DynamicControl runat="server" DataField="DeptNo" Mode="ReadOnly" />
</td>
<td>
<asp:DynamicControl runat="server" DataField="DeptName" Mode="ReadOnly" />
</td>
</tr>
</AlternatingItemTemplate>
<EditItemTemplate>
<tr style="">
<td>
<asp:Button ID="UpdateButton" runat="server" CommandName="Update"
Text="Update" />
<asp:Button ID="CancelButton" runat="server" CommandName="Cancel"
Text="Cancel" />
</td>
<td>
<asp:DynamicControl runat="server" DataField="DeptNo" Mode="Edit" />
</td>
<td>
<asp:DynamicControl runat="server" DataField="DeptName" Mode="Edit" />
</td>
</tr>
</EditItemTemplate>
<EmptyDataTemplate>
<table runat="server" style="">
<tr>
<td>
No data was returned.</td>
</tr>
</table>
</EmptyDataTemplate>
<InsertItemTemplate>
<tr style="">
<td>
<asp:Button ID="InsertButton" runat="server" CommandName="Insert" Text="Insert"
ValidationGroup="Insert" />
<asp:Button ID="CancelButton" runat="server" CommandName="Cancel"
Text="Clear" />
</td>
<td>
<asp:DynamicControl runat="server" DataField="DeptNo" Mode="Insert"
ValidationGroup="Insert" />
</td>
<td>
<asp:DynamicControl runat="server" DataField="DeptName" Mode="Insert"
ValidationGroup="Insert" />
</td>
</tr>
</InsertItemTemplate>
<ItemTemplate>
<tr style="">
<td>
<asp:DynamicControl runat="server" DataField="DeptNo" Mode="ReadOnly" />
</td>
<td>
<asp:DynamicControl runat="server" DataField="DeptName" Mode="ReadOnly" />
</td>
</tr>
</ItemTemplate>
y traté de implementar esto listview
a través de datos dinámicos y utilizó un dynamic data manager control
<asp:DynamicDataManager ID="DynamicDataManager1" runat="server" >
<DataControls>
<asp:DataControlReference ControlID="ListView1" />
</DataControls>
</asp:DynamicDataManager>
he tomado un dropdownlist
, está obligado a EmpInf.Empname
y cuando selecciono el nombre particular del empleado de una lista desplegable, quiero vincular el nombre del departamento.
en la parte de atrás
FilterControl.DataClasses1DataContext obj = new DataClasses1DataContext();
protected void DropDownList1_SelectedIndexChanged1(object sender, EventArgs e)
{
var a = from r in obj.EmpInfs
join s in obj.Dept1s on r.DeptNumber equals s.DeptNo
where r.EmpName == DropDownList1.SelectedValue
select s.DeptName;
ListView1.DataSource = a;
ListView1.DataBind();
}
durante un tiempo de ejecución, lanza una excepción, muestra el uso DataSourceID="LinqDataSource1" or use the datasource a the back end. remove one of them.
al hacerlo, no se devuelve nada durante el proceso. ¿Cómo debo hacer que esto funcione? Necesito una sugerencia. gracias por la ayuda
2 Respuestas
1
Una forma de resolver eso es eliminar el DataSourceID del control ListView y vincular los datos en page_load
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
//Bind datasource to ListView here
}
}
todo debería funcionar ahora
Respondido 04 Jul 12, 11:07
0
FilterControl.DataClasses1DataContext obj = new DataClasses1DataContext(); Vacío protegido DropDownList1_SelectedIndexChanged1 (remitente del objeto, EventArgs e) {
var a = from r in obj.EmpInfs
join s in obj.Dept1s on r.DeptNumber equals s.DeptNo
where r.EmpName == DropDownList1.SelectedValue
select s;
listview1.DatasourceId=null;
ListView1.DataSource = a;
ListView1.DataBind();
}
También se puede resolver escribiendo listview.DatasourceId=null
en el código anterior
Respondido 04 Jul 12, 12:07
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c# visual-studio-2010 linq-to-sql dynamic-data or haz tu propia pregunta.
Si algo no se entiende. Por favor hagamelo saber. - Abhishek gupta