c#
  • sql
  • eval
  • alias
  • 2012-06-11 47 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答案已更新 –

    相關問題