使用另一页面中的参数过滤EntityDataSource

时间:2012-11-27 18:59:19

标签: asp.net ado.net-entity-data-model entitydatasource

我有两个页面,一个包含所有产品列表的母版页和一个明显包含所述产品详细信息的单独详细页面。

在母版页中,我有一个网格视图,通过点击任何特定行的链接标签,应该显示其他页面(详细信息页面),其中包含基于ID的信息。

DataNavigateUrlFields:ID DataNavigateUrlFormatString:EmployeeFinanceDetailsPage.aspx?id = {0}

这是我添加到链接标签,尝试将ID发布到详细信息页面。顺便说一下,我使用的是纯粹的实体数据源。我已经配置了实体数据模型并且工作正常。

在我的详细信息页面中,我有一个表单视图配置数据源,如下所示。

<asp:EntityDataSource ID="EntityDataSource1" runat="server" ConnectionString="name=sspEntities" DefaultContainerName="sspEntities"
EnableDelete="True" EnableFlattening="False" EnableInsert="True"
EnableUpdate="True" EntitySetName="Employee_Financial"
EntityTypeFilter="" Select="" Where="" AutoGenerateWhereClause="True">
WhereParameters> <asp:FormParameter DbType="Int32" DefaultValue="0"
FormField="ID" Name="ID" /> </WhereParameters>
</asp:EntityDataSource>

由于某种原因,这个页面一直显示空白,我不知道我做错了什么。我甚至尝试删除AutoGenerateWhereClause但我仍然得到相同的结果。我究竟做错了什么?提前感谢您的建议。

1 个答案:

答案 0 :(得分:1)

您正在使用FormParameter,但在查询字符串中传递ID。请改为QueryStringParameter

<WhereParameters>
   <asp:QueryStringParameter 
      DbType="Int32" 
      DefaultValue="0"
      QueryStringField="ID" 
      Name="ID" 
   /> 
</WhereParameters>