«Поле или свойство с именем’eNcryptedStatusId’ не было найдено в выбранном источнике данных».

#c# #.net #asp.net #gridview

#c# #.net #asp.net #просмотр сетки

Вопрос:

Привет, я добавил новое значение Encryptedstatusid в DataNavigateUrlFields, и я получаю сообщение об ошибке «Поле или свойство с именем’eNcryptedStatusId’ не найдено в выбранном источнике данных». но в моем списке действительно есть свойство encryptedstatusid, которое содержит значение, как это решить? ASPX:

 <asp:HyperLinkField HeaderText="Status" DataTextField="AppStatus" DataNavigateUrlFields="NavigateUrl,Id,EncrypedStatusId"
            SortExpression="AppStatus" DataNavigateUrlFormatString="{0}?Id={1}"></asp:HyperLinkField>
<asp:TemplateField>
     <ItemTemplate>
          <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("NavigateUrl","{0}").Replace(":", Server.UrlEncode(":")) %>'
                    DataTextField="AppStatus"></asp:HyperLink>
     </ItemTemplate>
</asp:TemplateField>
  

КОД, ЛЕЖАЩИЙ В ОСНОВЕ :

 List<DTO> listDto;
IApplication engine;

engine = new Engine();
listDto = engine.ReadHistory(Session["UserID"].ToString());

this.dvHistory.DataSource = listDto;
this.dvHistory.DataBind();
  

Комментарии:

1. DataNavigateUrlFormatString имеет только два, и вы указали 3, я не уверен, приемлемо это или нет

2. Возможно, EncrypedStatusId недоступно, можете ли вы опубликовать соответствующий код для того же самого?

3. Кстати: удалите DataTextField в HyperLink1 и добавьте Text='<%# Eval(«AppStatus») %>’ вместо этого

Ответ №1:

есть ли оно у вас в свойстве gridview datakeynames=[encryptedstatusid, …]

Ответ №2:

Убедитесь, что столбец EncrypedStatusId column существует в вашем источнике данных.