【问题标题】:How can I access the controls on my default aspx page from my class library, within solution如何在解决方案中从我的类库访问默认 aspx 页面上的控件
【发布时间】:2013-07-18 12:24:30
【问题描述】:

我的问题看起来很简单,但我真的找不到正确的解决方案。如何从我的类库访问位于我的 default.aspx 页面中的 mg 控件(文本框、网格视图等)。正在引发错误(当前上下文中不存在名称“GridView1”)。我想知道为什么因为我已经在我的类库的引用中添加了默认页面所在的项目。我还将它包含在命名空间中。

Exercise1 --> 我的default.aspx页面所在的项目

ClassLibrary1 --.我想在哪里使用控件

使用练习1; --> 包含在命名空间中。

我还想念什么?谢谢!

【问题讨论】:

  • 通常 asp 控件是位于一个或多个类库中的组件的消费者,而不是相反。无论如何,您无法像访问普通对象那样访问页面属性。你究竟需要达到什么目标?
  • @mamoo 我实际上是 asp.net 的新手。为混乱道歉。这是我的目标,创建 3 层数据,首先我的 UI 在练习 1 项目下的 default.aspx 中,然后我添加了具有一个接口(IDataPerson)和一个类(DataPerson)的附加类库。然后我将所有方法实现(添加、编辑、删除)放在 DataPerson 类中,并在我的接口中声明这些方法。有了这个,我需要从我的 UI 访问我的控件到我的类库,以便能够执行上述操作。谢谢
  • 你能分享一些代码吗?你是怎么做到的?

标签: asp.net namespaces controls


【解决方案1】:

在我看来,您正在倒退,您的类库不应该访问表示元素,您应该(在您的代码中)从您的类库调用方法以与您的 gridview 交互。您不应该从类库中调用 gridview。

【讨论】:

  • 我实际上是asp.net的新手。为混乱道歉。这是我的目标,创建 3 层数据,首先我的 UI 在练习 1 项目下的 default.aspx 中,然后我添加了具有一个接口(IDataPerson)和一个类(DataPerson)的附加类库。然后我将所有方法实现(添加、编辑、删除)放在 DataPerson 类中,并在我的接口中声明这些方法。有了这个,我需要从我的 UI 访问我的控件到我的类库,以便能够执行上述操作。谢谢
  • 我这样做的方式(我也使用n层)如下。表示层-(.aspx 文件和代码隐藏,您可能正在使用内联代码,无论是表示方式)。然后是 BLL(业务逻辑层),我在其中执行所有查询以获取数据等。最后是 DAL(数据访问层,我通常使用 LINQ 为此生成类并围绕它们包装方法、删除、更新等。所以如果你有一个文字 ltMyLiteral,在后面的代码中我可能会使用类似 ltMyLiteral.Text = BLL.TextHelperClass.GetMyLiteralText(); 这不是一个很好的例子,但很难给出更多细节。
  • 谢谢@Full Time Skeleton,我找到了一个和你一样的好例子。 3 tier architecture 感谢您的想法。我希望我能做对,因为我上周刚开始学习 asp.net :D
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多