Я использую ASP.NET.
У меня есть DetailsView с DataSource для EntityDataSource.
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>