【问题标题】:Combination of Dynamic Data Entities Web Application Template and Asp.Net Web Forms Template动态数据实体 Web 应用程序模板和 Asp.Net Web 表单模板的组合
【发布时间】:2023-03-04 17:26:01
【问题描述】:

我想使用 Visual Studio 2012 For Web 创建一个网站,它有一个数据库和一个生成的 UI,就像我们使用模板项目时那样:

动态数据实体 Web 应用程序

但我也想要一个登录页面,比如模板项目提供的:

Asp.Net Web 表单应用程序

我发现模板非常适合这些任务中的任何一个,但如果您同时需要它们,则非常糟糕。

如果我从动态数据实体 Web 应用程序模板开始,那么我可以在数据库端获得出色的页面,而无需编写代码 - 但我无法让登录代码正常工作(另外,我认为我不会无论如何都应该编写该代码,因为它已经存在于 Asp.Net Web 表单应用程序中)。每当我尝试时,我都会陷入可怕的混乱。我真的不想了解身份验证、成员资格和 cookie 或“它是如何做到的”或任何类似的东西。我想要的是让 .Net 框架处理所有这些,并告诉我查看页面的人的用户名是什么。就这样。还有一种方法可以使用 Asp.Net Web Forms Application 模板。

但是,如果我从 Asp.Net Web 表单应用程序模板开始,那么登录内容可以开箱即用......但是我在尝试为数据库创建 UI 时陷入了可怕的混乱!但鉴于该代码已存在于动态数据实体 Web 应用程序模板中,这应该不是必需的。同样,我真的不想学习它是如何做到的,我只是想用它来为我做这些事情,这样我就不必这样做了。我不想告诉它如何更新、删除等...我也不需要动态数据实体 Web 应用程序模板,但是我无法获取登录信息。

无论如何,我已经用我认为非常简单的任务撕掉了我的大部分头发:使用 Code First Entities 方法使用简单的数据库创建一个登录/注册的网站。我的经验是,如果你想拥有一个数据库但没有登录,那么你就是在笑。如果你想登录但没有数据库 UI,那你就笑了。如果你想要两者兼得,那么除非你是一个超级骗子微软技术专家,生活和呼吸这些东西......或者你知道“诀窍”(可能存在于某个论坛的某个地方),否则你将面临很多痛苦。

无论如何,我的问题是,我在这里缺少什么?是否有一个网站包含一大堆其他模板,其中包含将 Web 表单(具有自动登录/成员资格控制)与动态数据实体 Web 应用程序相结合的模板,该应用程序在显示表格和允许编辑方面做得很好?我很难相信 Microsoft 打算让我知道如何完成 Dynamic Data Entities Web Application 和 Asp.Net Web Forms Application 所做的所有事情,才能获得这两种功能。

我花了一周的时间才弄清楚如何让“Enable-Migrations”在 Web 表单模板类型中工作......基本上每一个小步骤都是一场巨大的战斗,需要一个又一个论坛阅读论坛才能发现“伎俩”。但最后,我真正想要的只是一个将动态数据实体 Web 应用程序功能(即数据驱动的网页)与 Web 表单功能(即用户登录)相结合并在 Azure 上发布的模板。我以为这很简单。但事实证明这是一场噩梦,事实上我完全陷入了困境。

更新:

按照http://msdn.microsoft.com/en-us/library/ee923692(v=vs.100).aspx 上的建议,我又花了半天时间试图让它工作。但这对我不起作用。它不应该那么复杂。制作这样一种常见的网站格式不需要那种程度的修修补补:带有 UI 和登录的数据库。

现在我回到几天前遇到的第一个问题,不知何故消失了,但我不知道如何:

PM> 启用迁移 System.ArgumentException:参数不正确。 (来自 HRESULT 的异常:0x80070057 (E_INVALIDARG))

服务器堆栈跟踪: 在 EnvDTE.Properties.Item(对象索引) 在 System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs) 在 System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)

在 [0] 处重新抛出异常: 在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,Int32 类型) 在 EnvDTE.Properties.Item(对象索引) 在 System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetPropertyValue[T](项目项目,字符串 propertyName) 在 System.Data.Entity.Migrations.MigrationsDomainCommand.GetFacade(字符串配置类型名称) 在 System.Data.Entity.Migrations.EnableMigrationsCommand.FindContextToEnable(字符串 contextTypeName) 在 System.Data.Entity.Migrations.EnableMigrationsCommand.c_DisplayClass2.<.ctor>b_0() 在 System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(操作命令) 参数不正确。 (来自 HRESULT 的异常:0x80070057 (E_INVALIDARG))

在这一点上,我要放弃了。我不得不放弃,因为经过一周的尝试,我可以设法在 Azure 上创建一个带有数据库和 UI 但没有登录的网站 OR 在 Azure 上创建一个登录但没有数据库 UI 的网站。对我来说,为我的每个表创建一个网格视图,并手动连接 RowChange、UpdateMethod、DeleteMethod 等(即不使用动态数据脚手架)将是荒谬的,因为脚手架存在(它只是除非我从一开始就使用该模板,否则很难让它工作,但是如果我使用该模板,那么我就没有登录页面!)。无论如何,现在这个“参数不正确”的错误再次弹出,所以我在转圈。

【问题讨论】:

  • 你的问题很长我的朋友T_T。看你的日记,你似乎讨厌编写程序,只是为了你想使用软件并为你做所有的事情。
  • 好吧,并不是我讨厌编程,只是我想编写一个使用动态数据和 Web 表单登录的程序,但我不想(而且不能/做不知道如何制作它们,因为它们都已经单独存在了。我真正需要知道的是如何将它们结合起来。考虑到blogs.msdn.com/b/webdev/archive/2013/02/18/…,似乎没有那么简单(但这不是Express,我昨天才看到的)。
  • 我不认为你是一个人,user859400。

标签: asp.net webforms asp.net-membership asp.net-dynamic-data visual-studio-templates


【解决方案1】:

您可以使用 ASP.NET 动态数据模板在 Visual Studio 中创建动态数据网站。

在继续之前,您必须决定是要创建网站项目还是 Web 应用程序项目。有关详细信息,请参阅 Web 应用程序项目与网站项目。按照相应程序中的步骤进行操作。您为创建使用脚手架的动态数据 Web 应用程序而遵循的大多数步骤对于网站项目和 Web 应用程序项目都是相同的。但是,根据您使用的项目类型,一些步骤会有所不同。

创建动态数据网站项目

  1. 启动 Visual Studio 或 Visual Web Developer。
  2. 文件菜单中,单击新建网站新建网站对话框随即显示。
  3. Installed Templates 下的左侧窗格中,选择 Visual BasicVisual C#
  4. 在中间窗格中,选择以下选项之一:

-要使用 LINQ to SQL 模型,请选择 ASP.NET 动态数据 LINQ to SQL 网站
- 要使用 ADO.NET 实体框架模型,请选择 ASP.NET 动态数据实体网站。

如需更多信息,请参阅ASP.NET Dynamic Data Layer Customization.

5.在Web Location框中,选择File System,然后输入名称 您要保存网站页面的文件夹的名称。

例如,输入文件夹名称 C:\WebSites\DynamicData

6.点击确定

参考:Creating Dynamic Website

除此之外,您还可以从中读取其他信息。我相信编程没有什么是不可能的。如果你能想到,我相信你也能做到。 :)

【讨论】:

  • 但是如何添加登录表单呢?我认为 OP 知道如何创建动态数据网站,但我认为他们无论如何都没有找到附加登录表单。
猜你喜欢
  • 1970-01-01
  • 2011-10-04
  • 2023-04-10
  • 2018-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多