我正在使用visual studio 2008,我在AppCode文件夹中包含了一个类,并且在ObjectDataSource中使用它的函数。
答案 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)
您可能需要在类和方法上标记一些属性,以便它们显示在设计器中。查看DataObject和DataObjectMethod。
答案 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”。
答案 8 :(得分:0)
检查web.config文件中是否存在VS条目,例如可能导致此问题的部分(删除条目并重建)。