У меня есть веб-страница веб-форм ASP. NET, которая отображает сетку данных, извлеченных из базы данных с помощью EntityFramework и привязки модели. Однако бывают случаи, когда я использую sh, чтобы переопределить отображаемую информацию в зависимости от значения одного из полей в данных. Так, например, если поле hideme истинно, я хочу заменить имя человека на «Утащено» вместо отображения «Joe Bloggs», которое является значением, хранящимся в базе данных. Примечание: я не хочу изменять значение, хранящееся в базе данных, я просто хочу перехватить его на пути к веб-странице и изменить его значение.
Сетка TemplateField веб-страницы выглядит так:
<asp:TemplateField HeaderText="Company" SortExpression="">
<ItemTemplate>
<asp:Label ID="Label6" runat="server" Text='<%# Item.VehicleKeeper.Name %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
Код программной части выглядит примерно так (извините, это VB!):
Public Function VehicleGrid_GetData(sender As Object, e As EventArgs) As IQueryable(Of VehicleKeeperCollection) Dim mycontext = New RecallContainer()
Dim myreg As String = "AB01CDE"
Dim Q1 As IQueryable(Of VehicleKeeperCollection) = From vk In mycontext.VehicleKeeperCollections
Select vk
Q1 = Q1.Where(Function(x) x.Vehicle.Reg = myreg)
Return Q1
End Function
Это возвращает набор данных, содержащий, среди прочего, VehicleKeeperCollection.VehicleKeeper.Name и VehicleKeeperCollection. VehicleKeeper.HideMe
Итак, что я хочу сделать, это изменить значение VehicleKeeperCollection.VehicleKeeper.Name на «Withheld», если значение VehicleKeeperCollection.VehicleKeeper.HideMe истинно.
ModelBinding для сетка требует, чтобы объект, который я возвращаю, относился к классу «VehicleKeeperCollection», и я думал, что смогу выполнить результирующий запрос к оцениваемым объектам, но я даже, кажется, не могу это сделать и сохранить тип класса. В приведенном ниже коде не удается преобразовать новый объект в класс VehicleKeeperCollection
Dim mynewquery1 As IQueryable(Of VehicleKeeperCollection) = From q In Q1 Select New With
{.id = q.id, .VehicleKeeperId = q.VehicleKeeperId, .VehicleId = q.VehicleId, .Vehicle = q.Vehicle, .VehicleKeeper = q.VehicleKeeper}
Любые указатели на то, как я добиваюсь того, что я хочу с благодарностью получить, это не моя область знаний, и я борюсь ! Спасибо