【问题标题】:ASP.net Drop-In-FormsASP.net Drop-In-Forms
【发布时间】:2011-04-15 23:30:42
【问题描述】:

概述: 我正在寻找一个可以集中大量重复数据输入的网站。我目前构建了一个向导,我希望从位于“表单”文件夹中的 aspx 页面或 dll 列表中填充应用程序列表。在通过向导时,用户将选择他们想要填写表单的应用程序,它将填充这些表单 (A) 作为向导中的附加步骤,或 (B) 在下一步中将表单堆叠在一起.一旦他们填写了所有表格,它将验证所有信息,然后向特定用户发送电子邮件。

实施: 我希望能够为每个表单创建一个 UserControl 并让它存储该特定应用程序所需的所有信息。我假设它还需要一个或几个允许 UserControl 和主应用程序使用相同语言的接口。它应该处理它自己的所有验证,并且带有所需信息的表单也将直接构建在 UserControl 中。我希望能够编译这些 dll 并将它们放到“表单”目录中,并通过将应用程序添加到初始列表并让它在下一步显示表单(如果选择)来自动“实现”它。填写完所有表格后,用户将跟进并发送所有信息。

我的想法: 我从未使用过接口,但我认为这是我需要接口的一个主要例子。我想我可以使用字典列表通过界面发送所有结果并在电子邮件中显示结果。我想我需要一个接口用于 IApplication(传达应用程序信息)、IRequestor(传达请求者信息)和 IAccessRequest(将结合 IApp 和 IReq 以将完整的请求提交回 Web 应用程序)。

我的问题:

1) 所以我会在 Web 应用程序和 UserControl 上实现接口。 UserControl 将使用它来填充所有需要的数据,Web 应用程序将使用它来处理数据,对吗?

2) 然后我会为我的 Application Method 继承 IApplication 并构建该方法以使用和填充 application 方法,但是我如何将其发送到 Web 应用程序进行处理?

3) 如何让我的 Web 应用使用控件中设置的 Name 属性填充应用列表?

4) 如何在我希望它显示表单的向导步骤中填充控件?我不是也必须注册一些吗?

5) 这样的项目有什么好的阅读材料吗?我可能完全疯了,但我祈祷这是一个技能稍微超前的人可以完成的事情。

6) 你有没有更好的方法来做这件事?我真的不知道还能用这个做什么。

感谢大家的帮助! :D

【问题讨论】:

    标签: c# asp.net interface


    【解决方案1】:

    我不想在这里打半本书,所以我给你做了一个小例子。代码还不是很干净,但它应该可以工作。解决方案是在VS2010中创建的。

    http://dl.dropbox.com/u/8420721/UserControlsDemo.zip

    【讨论】:

    • 哇,我在代码营遇到的一个朋友推荐了这些论坛,现在我明白了为什么。快速、准确的回复!!你们俩都以不同的方式给了我我想要的东西。我现在可以理解并使用实际代码来完成它,并且还有一个可靠的框架可以使用。非常感谢!!!感谢 Tom 抽出时间为我编写这个示例,我觉得这对于我想做的事情来说是无价的。再次感谢您!
    • 嘿,汤姆,这是非常有据可查的,我同时印象深刻和兴奋!我已经开始将它集成到我的代码中。不过我确实有一个问题,似乎 FormUserControl 类的行为就像一个接口,这是正确的吗?如果是这样,为什么它没有界面图标?我以前从未使用过,所以我只是想了解一下。谢谢!
    • 在示例中它是一个抽象基类。它可以用接口代替,但使用抽象类有两个优点。每个对象都可以实现接口,但是通过使用抽象基类,您可以确定您只有用户控件。另一个优点是您可以在基类中实现一些共享逻辑,这在接口中是不可能的。
    • 很高兴知道,我仍在努力掌握对 abstract 和其他一些修饰符的需求,所以这是一个很好的例子。多亏了你的例子,这个项目进展得比我想象的要顺利得多。我已经修改了代码以在我的环境中工作,我对进展感到非常兴奋。我希望这个能够快速移动,以便可以将它呈现给我的管理层。从技术上讲,我不是工作中的开发人员,但他们让我在这里和那里做项目。感谢您在这方面帮助我,我认为这将有助于我的职业生涯。谢谢!!!
    • 嘿汤姆,不想再打扰你了,但我在同一个项目上遇到了问题。我正在使用向导控件并在 OnInit 处动态添加步骤,但是设置页面的控件在它返回之前不会触发该方法,这导致向导控件始终落后于其预期步骤。关于如何解决这个问题的任何建议?我还创建了另一个帖子来寻求帮助。谢谢! stackoverflow.com/questions/3831938/…
    猜你喜欢
    • 2018-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-08
    • 2019-07-24
    • 1970-01-01
    • 2016-08-22
    相关资源
    最近更新 更多