ASP.NET,在我的Web窗体上完成任务的最佳方法?

ASP.NET,在我的Web窗体上完成任务的最佳方法?,asp.net,Asp.net,我正在寻求有关实现以下目标的最佳方法的建议: 我有三张表格——报告、活动、笔记 活动和注释与报告表相关。(对于每个报告,都有许多活动和注释。) 我需要创建一个网络表单,允许用户创建一个新报告,然后在该报告中创建许多活动和注释。所有数据都需要写入数据库中相应的表中 我在逻辑上有点问题。我曾尝试在同一页面上使用多个formview控件,以编程方式更新表,等等。我似乎找不到一个好方法来完成这项相对简单的任务。有什么建议吗?如果我要设计这个,我会使用两个单独的页面。第一个页面将是一个概览页面,其中包含所

我正在寻求有关实现以下目标的最佳方法的建议:

我有三张表格——报告、活动、笔记

活动和注释与报告表相关。(对于每个报告,都有许多活动和注释。)

我需要创建一个网络表单,允许用户创建一个新报告,然后在该报告中创建许多活动和注释。所有数据都需要写入数据库中相应的表中


我在逻辑上有点问题。我曾尝试在同一页面上使用多个formview控件,以编程方式更新表,等等。我似乎找不到一个好方法来完成这项相对简单的任务。有什么建议吗?

如果我要设计这个,我会使用两个单独的页面。第一个页面将是一个概览页面,其中包含所有报告的网格。网格将显示一些简单的基本信息(reportid、名称、日期、注释/活动计数等)。该页面还将提供搜索选项来过滤网格。我会将网格上的记录链接到一个“details.aspx?id=XXX”页面。我还有一个createnewreport按钮,它也重定向到details页面,但是没有querystring参数

详细信息页面将有3个选项卡。表1为“报告信息”。表2为“活动”。表3为“注释”

详细信息页面将处理报告的插入和更新。如果“id”查询字符串不存在,则用户希望插入一个新报告,因此在本例中,隐藏选项卡2和3。您也不会执行数据绑定功能。保存选项卡1(报表)时,运行插入方法。成功插入报告后,将其重定向到details.aspx?id=NEWID,以便继续添加活动/注释

如果“id”查询字符串确实存在,则用户处于编辑/更新模式。在这种情况下,将显示所有3个选项卡。保存到选项卡1(报告)将更新报告表

活动和注释选项卡的布局应尽可能好地显示数据。如果数据只是一个字符串,我会显示一个表单来插入一个新的activity/not,然后在下面,使用repeater或datalist以列表格式显示现有的notes/activity

希望这能为你指明正确的方向


祝你好运

你听说过


优势

  • 您可以将所有三个请求保留在同一页面中
  • 这会减少你的往返行程。因此,请使用
    Server.Transfer
  • 删除查询字符串
  • 使用多个页面将需要路由/重写功能

  • 缺点

  • 这将变得很麻烦
  • 维护费用会很高

    如果您的需求明确且很小,则应该使用它。

    您能提供一个代码片段并解释您是如何尝试的吗?我不明白多窗体视图部分?是的,我认为这个问题需要更多思考。很难确定你到底在问什么。我现在没有可以使用的代码。在你看来,如果你是从零开始创建这个,你会如何设计网络表单?Ricketts,正是我想要的指南!谢谢查询字符串(details.aspx?id=NEWID)有问题。创建报告后,我需要传递“ReportID”作为查询字符串,对吗?ReportID是表的主键,设置为identity/auto increment。我假设在将记录插入表时需要捕获该值,但是如何捕获呢?这取决于您如何处理数据。如果您使用ADO.NET,您将使用一种方法,如果您使用LINQ,您将使用另一种方法。在这里搜索“获取插入记录的id”,你会发现很多例子。