asp.net Web表单模式重复使用同一页面(查看和编辑)

asp.net Web表单模式重复使用同一页面(查看和编辑),asp.net,design-patterns,Asp.net,Design Patterns,我正在做一个项目,目的是创建一种社交门户 问题是,我有一个实体页面的详细信息,用户可以编辑它或只是查看它。 我正在考虑只创建一个页面,同时将其用作“仅查看”和“编辑”模式。 我有两个想法: 1) 在会话中创建一个枚举控件行为{EditMode,ViewMode},并使用它来了解是否必须在页面中设置只读每个控件 2) 如果必须在viewmode中打开页面,请使用jquery设置页面中的每个控件为只读(如果必须在编辑模式下打开页面,则不设置为只读) 是否存在任何模式来达到我的目标? 致以最诚挚的问候

我正在做一个项目,目的是创建一种社交门户

问题是,我有一个实体页面的详细信息,用户可以编辑它或只是查看它。 我正在考虑只创建一个页面,同时将其用作“仅查看”和“编辑”模式。 我有两个想法:

1) 在会话中创建一个枚举控件行为{EditMode,ViewMode},并使用它来了解是否必须在页面中设置只读每个控件

2) 如果必须在viewmode中打开页面,请使用jquery设置页面中的每个控件为只读(如果必须在编辑模式下打开页面,则不设置为只读)

是否存在任何模式来达到我的目标?
致以最诚挚的问候

DetailsView控件正是您所需要的

将您的关注点分为读取和编辑两种形式最合适,无论是您自己还是其他人都可以在事后维护您的代码。

如果查看数据和编辑数据之间的差异是基于角色的,并且是出于安全考虑,在客户端禁用表单元素是个坏主意。用户可以重新启用它们并发布编辑。嘿,大卫!我不这么认为!该死你知道为了达到我的目标是否存在某种模式吗?我通常认为最好是在不同的页面上查看和编辑。但这本身是一个非常广泛和全面的声明,并不适用于所有情况。因为你需要的是,我真正能建议的是,你不要试图在设计上太“聪明”。使用易于支持的代码将逻辑问题正确地分开比节省几个字节的代码和压缩功能要好得多。对不起,但我不知道如何将您的答案标记为正确答案:(从技术上讲,这不是一个答案,只是一个注释。我不认为我真的“回答了”你的问题只不过是提供了建议,所以不必犹豫:)嗨,西特拉纳斯。我读了一些关于DetailsView的文档,上面说DetailsView需要sql数据源。我有一个更复杂的基础设施,有实体框架模型和POCO对象。我使用存储库项目从数据库中读取数据。然后我有一个基础设施项目,我将这些实体映射到dto对象。在aspx文件上使用DTO来显示值。我正在搜索一个不同的解决方案,而不是像DetailsView这样的服务器端控件。我想知道是否存在一种模式可以到达我的目标。您可以将DetailsView绑定到自定义业务对象