ListView вообще не отображается - PullRequest
0 голосов
/ 12 октября 2018

Цель: Получить ListView для отображения.Я просто пытаюсь отобразить строки данных, где столбец IsApproved имеет значение 1 (true)

Проблема: ListView не отображается (не данные ИЛИ даже сами заголовки)

То, что я пробовал : Я пытался отладить и использовать операторы WriteLine, чтобы увидеть, где это происходит.Пользователи получают значение (запрос SELECT), поэтому оно не равно нулю.

Остается вопрос: так что, если он получает значение, почему все это не отображается?Я думаю, что по крайней мере заголовки будут отображаться (они не из базы данных).Что-то не так с моей привязкой данных?Я также попытался добавить lstUsers.DataBind ();согласно Listview не отображается в asp.net

Это то, что было в WriteLine Вывод / отладка:

SELECT 
[Extent1].[ID] AS [ID], 
[Extent1].[UserName] AS [UserName], 
[Extent1].[FirstName] AS [FirstName], 
[Extent1].[LastName] AS [LastName], 
[Extent1].[EmailAddress] AS [EmailAddress],     
[Extent1].[IsApproved] AS [IsApproved]
FROM [dbo].[SomeUserRegistration] AS [Extent1]
WHERE [Extent1].[IsApproved] = 1

Когда я раскрываю выше вВ Visual Studio написано: Пусто = «Перечисление не дало результатов», но когда я делаю это из GetDataFromQuery (), я вижу, что 3 результата из БД [0] [1] и [2] имеют значения


c # код:

public IQueryable<SomeUserRegistration> lstUsers_GetData()
        {       
            IQueryable<SomeUserRegistration> users = null;
            users = GetDataFromQuery();

            if (users != null)
            {
                System.Diagnostics.Debug.WriteLine(users);
                return users;
            }
            else { return null; }

public IQueryable<SomeUserRegistration> GetDataFromQuery()
        {
            return db.SuperUserRegistrations.Where(m => m.IsApproved);
        }

код aspx:

<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">

    <h1>Manage Requests</h1>

    <asp:ListView ID="lstUsers" runat="server" ItemType="Program.PData.SomeUserRegistration" DataKeyNames="ID" SelectMethod="lstUsers_GetData"
        OnItemCommand="lstUsers_ItemCommand" DeleteMethod="lstUsers_DeleteItem" OnSorting="lstUsers_Sorting"
        OnItemDataBound="lstUsers_ItemDataBound"
        ItemPlaceholderID="litPlaceHolder">
        <LayoutTemplate>
            <div class="table-responsive">
                <table class="table">
                    <thead>
                        <tr>
                            <th>Last Name</th>
                            <th>First Name</th>
                            <th>UserName</th>
                            <th>EmailAddress</th>                          
                        </tr>
                    </thead>
                    <asp:Literal ID="litPlaceHolder" runat="server" />
                </table>
            </div>
        </LayoutTemplate>

        <ItemTemplate>
            <tr>

                <td><%# Item.LastName %></td>
                <td><%# Item.FirstName %></td>
                <td><%# Item.UserName %></td>
                <td><%# Item.EmailAddress %></td>              
            </tr>
        </ItemTemplate>
    </asp:ListView>
    <%--  </asp:Panel>--%>
</asp:Content>

1 Ответ

0 голосов
/ 12 октября 2018

По-видимому, указывалось на таблицу с тем же именем, на базу данных с тем же именем на сервере с немного другим именем.Это в сочетании с тем фактом, что IsApproved было 0 в базе данных, на которую смотрел код (в отличие от базы данных, на которую я думал, что смотрел).

Урок. Внимательно изучите детали отладчика.Если из запроса LINQ ничего не приходит, он даже не отображает заголовки.

...