我使用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>