1

我一直在尝试通过http://www.asp.net/learn/data-access/tutorial-01-cs.aspx找到的“创建数据访问层”教程

我创建数据库连接,创建类型化数据集和表适配器,指定 sql 等。

当我将代码添加到表示层(在本例中为名为 AllProducts.aspx 的页面)时,我找不到 NorthwindTableAdapters.ProductsTableAdapter 类。我试图导入 NorthwindTableAdapters 命名空间,但它没有显示出来。在解决方案资源管理器类视图中查看确认有一个 Northwind 类,但不是我正在寻找的命名空间。

我已经尝试了几个在线教程,它们都具有基本相同的步骤,并且我得到了相同的结果。

谁能给我推动正确的方向?

我收到错误:在 Imports 'NorthwindTableAdapters' 中指定的命名空间或类型不包含任何公共成员或找不到。确保命名空间或类型已定义并包含至少一个公共成员。

我想我可能需要添加一个引用,或者他们可能正在创建一个单独的类并将其导入到他们的主项目中。如果是这种情况,教程不会提到这一点。

供应商Test2.aspx.vb:

    Imports NorthwindTableAdapters 

   Partial Class SuppliersTest2

   Inherits System.Web.UI.Page



   Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load



    Dim suppliersAdapter As New SuppliersTableAdapter



    GridView1.DataSource = suppliersAdapter.GetAllSuppliers()

    GridView1.DataBind()



End Sub

结束类

4

6 回答 6

3

我也遇到了同样的问题,终于找到了解决办法。尝试以下;1) 右键单击​​您的数据集并选择属性 2) 在数据集属性下,为 Prifix 属性设置名称。3)调试您的应用程序。4) 在您的应用程序(C#.net) 中 使用 DALexample.MyTableAdapters 导入命名空间;

DALexample 是您的项目名称...

于 2010-07-15T15:18:38.677 回答
1

您需要在创建 xsd 文件后编译代码,但在将代码添加到使用表适配器之前。

因此,查看教程,在创建 AllProducts.aspx 之前,您需要构建代码。这将自动生成 NorthwindTableAdapters 命名空间及其背后的代码,您将需要继续学习本教程

于 2010-06-25T17:05:04.433 回答
1

您的 Web 项目必须因某种原因而被复制。创建一个全新的 Web 项目并将所有当前代码复制到其中。然后尝试运行。它会起作用的。

于 2010-08-30T07:47:23.460 回答
0

我也对此感到困惑 - 问题可能是您使用 New Project->ASP.NET Web Application 创建了项目。应用程序项目与网站项目不同。使用New Web Site->ASP.NET Web Site创建一个项目。然后将所有教程文件放到解决方案资源管理器的根文件夹中,覆盖所有。

当我尝试重新创建 DataSet 并且向导没有自动启动要求我将其放入 App_Code 文件夹时,我注意到出现了问题。App_Code 文件夹必须特定于 ASP.NET 网站而不是应用程序。

于 2011-02-11T07:47:49.687 回答
0

进入 web.config 文件,在 Pages - namespaces 下,查看是否有 clear 命令,尝试删除 clear 命令:

<pages styleSheetTheme="DataWebControls">
  <namespaces>
    <clear/>

对我来说,不需要创建一个新网站并将所有源文件(web.config 文件除外)复制到其中,我只需备份我的 web.config 文件,然后删除 web.config文件,然后去添加新项目并添加一个新的 web.config 文件,它创建了一个具有我需要的默认值的新文件,然后我只是将自定义条目从我的旧 web.config 文件复制到新的,我是很好走。

于 2015-09-21T22:51:52.557 回答
0

我也在为此苦苦挣扎,但通过关闭 Visual Studio、重新打开我的项目并最终构建解决方案 (CTRL+SHIFT+B) 解决了这个问题。

于 2016-03-22T11:47:05.780 回答