У меня есть элемент управления ListView, и я использую привязку модели к свойству SelectMethod. Я использую ASP.NET 4.5 с Entity Framework 6. Теперь в методе select, если есть какие-либо записи, ListView загружается нормально. Однако, если функция SelectMethod возвращает значение null, то есть оно не возвращает никаких записей, я получаю исключение NullReferenceException. Я хотел бы продолжить использование ListView с помощью SelectMethod, но без этого исключения (т. Е. Загрузить пустой список). Это возможно? Или мне нужно удалить свойство SelectMethod и загрузить его вручную из обработчика событий в коде?Как я могу выполнить привязку модели с помощью метода SelectMethod, когда запрос не возвращает записи?
Пример кода
<asp:ListView ID="lvBankAccounts" runat="server" ClientIDMode="Static" DataKeyNames="Id" ItemType="Models.BankAccountInfo" SelectMethod="GetBankAccounts">
<ItemTemplate>
<div>
<%# Item.BankName %>
</div>
.
.
</ItemTemplate>
</asp:ListView>
// Select Method
public IQueryable<Models.BankAccountInfo> GetBankAccounts()
{
int Id;
int.TryParse(Request.QueryString["id"], out Id);
Models.BankAccountInfo acct = dbContext.BankAccounts.Find(Id);
if (acct != null)
{
return dbContext.BankAccounts.Where(account => account.Id == acct.Id);
}
return null;
}
Спасибо за ваш ответ! На самом деле, это была одна из первых вещей, которые я пробовал. Даже с EmptyDataTemplate это дает мне ошибку: Ссылка на объект не установлена в экземпляр объекта. System.Web.UI.WebControls.ModelDataSourceView.FindMethod (String methodName) +160 – Sephrial