ObjectDataSource未显示配置数据源中的数据对象

时间:2010-10-29 11:26:29

标签: c# asp.net

我正在使用visual studio 2008,我在AppCode文件夹中包含了一个类,并且在ObjectDataSource中使用它的函数。

9 个答案:

答案 0 :(得分:2)

在aspx中

<asp:GridView ID="GridView1" 
     AutoGenerateColumns="true" 
     DataSourceID="ObjectDataSource1" runat="server">
</asp:GridView>

<asp:ObjectDataSource ID="ObjectDataSource1"
     SelectMethod="GetCustomers"
     TypeName="MyNamespace.CustomerManager"
     runat="server"></asp:ObjectDataSource>

在.cs(在App_Code内)

namespace MyNamespace
{
    public class Customer
    {
        public string Name { get; set; }
    }

    public class CustomerManager
    {
        public List<Customer> GetCustomers()
        {
            List<Customer> cust = new List<Customer>();
            Customer c = new Customer();
            c.Name = "sampleName";
            cust.Add(c);
            return cust;
        }
    }
}

在此之后,我能够在GridView中看到客户详细信息。

答案 1 :(得分:1)

您始终可以手动在objectDatasource中输入对象的名称,格式为:

namespace.classname,App_Code

App_Code适用于网站项目;否则,如果是Web应用程序项目模板,请指定Web项目程序集的名称。

HTH。

答案 2 :(得分:1)

您可能需要在类和方法上标记一些属性,以便它们显示在设计器中。查看DataObjectDataObjectMethod

答案 3 :(得分:1)

如果您已经尝试了以上所有内容,那么就是您的机器问题 可能是你的机器不支持。

答案 4 :(得分:1)

我遇到了同样的问题,最后通过将App_Code添加到TypeName来修复...简单的修复,但花了很多时间来实现它。 (来自例子)

<asp:ObjectDataSource ID="ObjectDataSource1"
     SelectMethod="GetCustomers"
     TypeName="MyNamespace.App_Code.CustomerManager"
     runat="server">
</asp:ObjectDataSource>

答案 5 :(得分:1)

发霉的老人Q&amp; A但我碰巧偶然发现了这个问题,同时在这个问题上震撼了我的大脑。我的解决方案是确保相关课程都是公开的。

答案 6 :(得分:0)

也许你打开的是“Project”而不是“Website”,我不知道为什么数据对象在以“Project”打开时没有显示我。

答案 7 :(得分:0)

我被引导到这个问题,因为我遇到了类似的问题。我的决议来自StevenMcD提供的以下答案:

  

右键单击App_Code文件夹中的.cs文件并检查其属性。

     

确保“Build Action”设置为“Compile”。

Classes residing in App_Code is not accessible

答案 8 :(得分:0)

检查web.config文件中是否存在VS条目,例如可能导致此问题的部分(删除条目并重建)。