C# ObjectDataSource';的TypeName属性中指定的类型;ObjectDataSource1';找不到
我使用C# ObjectDataSource';的TypeName属性中指定的类型;ObjectDataSource1';找不到,c#,objectdatasource,C#,Objectdatasource,我使用VS2008和.netframework3.5创建了一个网站,我从文件->新建->网站,添加了母版页和默认内容页。我添加了对象DetailsView和ObjectDataSource。为了填充App_Code文件夹中的数据,我创建了三个类, 数据库(连接到数据库并填充表、数据集和数据读取器等) 屏幕(模型类) ScreenDALC(数据访问层类) 请注意,所有代码隐藏文件都不在任何特定的命名空间中 <asp:DetailsView ID="DetailsView1" runat="s
VS2008
和.netframework3.5
创建了一个网站,我从文件->新建->网站,添加了母版页和默认内容页。我添加了对象DetailsView
和ObjectDataSource
。为了填充App_Code文件夹中的数据,我创建了三个类,
数据库(连接到数据库并填充表、数据集和数据读取器等)
屏幕(模型类)
ScreenDALC(数据访问层类)
请注意,所有代码隐藏文件都不在任何特定的命名空间中
<asp:DetailsView ID="DetailsView1" runat="server" Height="50px" Width="125px"
AllowPaging="True" AutoGenerateRows="False" DataSourceID="ObjectDataSource1">
<Fields>
<asp:BoundField DataField="ScreenID" HeaderText="ScreenID"
SortExpression="ScreenID" />
<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:CommandField ShowDeleteButton="True" ShowEditButton="True"
ShowInsertButton="True" />
</Fields>
</asp:DetailsView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
DataObjectTypeName="Screen" DeleteMethod="Delete"
InsertMethod="Insert" OldValuesParameterFormatString="original_{0}"
SelectMethod="GetScreen" TypeName="ScreenDALC" UpdateMethod="Update">
</asp:ObjectDataSource>
当我运行应用程序时,它运行时并没有错误,我可以看到表单上的数据。但是当我打开像http://localhost/irfu/irfulabs/newcpanel/default.aspx
我收到了主题中的错误消息
还请注意,我已经尝试过了,我将整个项目放在一个名称空间中,得到了相同的错误消息,我将所有文件放在一个文件夹中,但仍然得到了相同的错误消息。我还添加了System.ComponentModel;将签名添加到所有方法。由于代码没有问题,在我的web主机上设置应用程序文件夹和虚拟目录后,错误被删除,页面成功打开。您的代码是否有可由
ObjectDataSource1
访问的ScreenDALC
类?是的,我在App_code文件夹中有ScreenDALC类,但是我不知道如何验证它是否可以被OjectctDataSource访问,类是否可以在页面的代码隐藏文件中访问,如果我运行该项目,它也可以正常工作,但是在通过URL打开时会出现错误。很可能您必须使用其全名(包括名称空间)指定类型。这类似于.Namespace.ScreenDALC。还要确保该类型是公共的。