C# 关于DatasourceId和DataSource的查询
有两张桌子C# 关于DatasourceId和DataSource的查询,c#,visual-studio-2010,linq-to-sql,dynamic-data,C#,Visual Studio 2010,Linq To Sql,Dynamic Data,有两张桌子 EmpInf EmpId, EmpName, Salary, DepartNumber. Dept DeptNo, Deptname, 我有一个linqdatasource控件,例如 <asp:LinqDataSource ID="LinqDataSource1" runat="server" EntityTypeName="" ContextTypeName="FilterControl.DataClasses1D
EmpInf
EmpId,
EmpName,
Salary,
DepartNumber.
Dept
DeptNo,
Deptname,
我有一个linqdatasource控件
,例如
<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>
并尝试在整个动态数据中实现此列表视图
,并使用动态数据管理器控件
<asp:DynamicDataManager ID="DynamicDataManager1" runat="server" >
<DataControls>
<asp:DataControlReference ControlID="ListView1" />
</DataControls>
</asp:DynamicDataManager>
在运行时,它抛出一个异常,它显示使用
DataSourceID=“LinqDataSource1”或在后端使用数据源a。删除其中一个。
执行此操作时,过程中不会返回任何内容。我该怎么跑,需要建议。谢谢你的帮助 解决此问题的一种方法是从ListView控件中删除DataSourceID,并在page_load中绑定数据
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
//Bind datasource to ListView here
}
}
现在一切都应该正常了FilterControl.DataClasses1DataContext obj=new DataClasses1DataContext(); 受保护的void DropDownList1\u SelectedIndexChanged1(对象发送方,事件参数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();
}
如果有什么不明白的地方,也可以通过在上面的代码中写入
listview.DatasourceId=null
来解决。请告诉我。
protected void Page_Load(object sender, EventArgs e)
{
if(!Page.IsPostBack)
{
//Bind datasource to ListView here
}
}
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();
}