c#
  • sql
  • eval
  • alias
  • 2012-06-11 1 views 0 likes 
    0

    моя линия в GridViewполе или свойство с именем «PageId» не был найден на выбранном источнике данных - ALIAS

    <asp:Label ID="Label2" runat="server" Text='<%# new System.Text.StringBuilder("<a href=\"/Administration/Pages/EditPage/?pageID=").Append(Eval("PageID")).Append("\">").Append(Eval("Name")).Append("</a>").ToString() %>'></asp:Label> 
    

    терпит неудачу с

    Сведения об исключении: System.Web.HttpException : DataBinding: 'System.Data.DataRowView' не содержит свойства с именем 'PageID'.

    я подозреваю, что проблема является псевдонимом в источнике данных

    SelectCommand="SELECT Menus.ID, Menus.ParentID, Menus.Name, Menus.Slug, Menus.PageTitle, Menus.PageSubTitle, Menus.MenuOrder, Menus.IsHomePage, Menus.IsYourAccountLink, Menus.IsMiniMenu, Menus.IsFooterMenu, Menus.IsHeaderMenu, Menus.CustomerID, Customers.SubDomain, PublicPages.ID AS PageID FROM Menus INNER JOIN Customers ON Menus.CustomerID = Customers.ID INNER JOIN PublicPages ON Menus.ID = PublicPages.HeaderMenuID AND Customers.ID = PublicPages.CustomerID WHERE (Menus.CustomerID = @CustomerFilter)" 
    

    так, как использовать его в качестве псевдонима в:

    Append(Eval("PageID")) 
    

    Thnx

    ответ

    1

    Попробуйте это,

    <%# Container.DataItem.GetColumn("PageId")%> 
    

    Update1: Второй вариант

    <%#DataBinder.Eval(Container.DataItem.GetColumn("PageId"))%> 
    
    +0

    «объект» не содержит определения для «GetColumn» и без метода расширения «GetColumn» принимающему первый аргумент типа «объект» может быть найден (Вы не нашли с помощью директива или ссылка на сборку?) – b0x0rz

    +0

    @ b0x0rz ответ обновлен –

    Смежные вопросы

     Смежные вопросы