设置DetailsView以使用QueryString和具有相同值的Inner Control显示特定行

时间:2011-06-10 12:01:59

标签: c# asp.net detailsview

我使用ASP.NET。

我有一个带有DataSource到EntityDataSource的DetailsView。 EntityDataSource有一个WhereParameter连接到页面上的控件。

我需要添加一些逻辑以允许DetailsView更改模式(从ReadOnly到Edit)并显示从查询字符串传递的特定行的结果。

要更改为编辑模式,请使用:

DetailsView.ChangeMode(DetailsViewMode.Edit);

但是我无法将DetailsView设置为显示从我的查询字符串传递的行。

我也收到错误:

A property with name 'CategoryId1' does not exist in metadata for entity type 

在我看来,EntityDataSource有两个CategoryId会造成一些混乱,而且无法正确绑定DetailsView。

知道该怎么做吗?

这是我对EntityDataSource的实际代码。


   <asp:EntityDataSource ID="uxEntityDataSourceSelectEditNode" runat="server" AutoGenerateWhereClause="True"
            ConnectionString="name=xxx" DefaultContainerName="xxx"
            EnableDelete="True" EnableFlattening="False" EnableUpdate="True" EntitySetName="CmsCategories"
            Where="">
            <WhereParameters>
                <asp:ControlParameter ControlID="uxTreeView" Name="CategoryId" PropertyName="SelectedValue"
                    Type="Int32" />
                // Problem here
                <asp:QueryStringParameter DefaultValue="0" Name="CategoryId" 
                    QueryStringField="test" />
            </WhereParameters>
        </asp:EntityDataSource>

0 个答案:

没有答案