【问题标题】:Filtering EntityDataSource with Parameters from a another page使用来自另一个页面的参数过滤 EntityDataSource
【发布时间】:2012-11-27 18:59:18
【问题描述】:

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

在母版页中,我有一个网格视图,通过单击任何特定行的链接标签,应显示其他页面(详细信息页面),其中包含基于 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 但我仍然得到相同的结果。我究竟做错了什么?提前感谢您的建议。

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-09-15
      • 1970-01-01
      • 2018-08-05
      • 2018-01-02
      • 2012-07-29
      • 2022-01-23
      • 2022-10-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多