我想使用VisualStudio2012forWeb创建一个具有数据库和生成的UI的网站,就像我们使用模板项目时一样:
动态数据实体Web应用程序
但是,我也希望有一个登录页面,如模板项目提供的:
Asp.Net网络表单应用程序
我发现模板对于这两种任务都是很好的,但是如果您想两者都需要的话,它们都是非常糟糕的。
如果我从动态数据实体Web应用程序模板开始,那么我为数据库端获得了很好的页面,只需很少编写代码--但我无法使登录代码正常工作(而且,我不认为我应该编写该代码,因为它已经存在于Asp.Net Web应用程序中)。每当我尝试的时候,我就陷入可怕的混乱之中。我真的不想了解身份验证、成员资格和cookie,或者“它是如何做到的”之类的东西。我想让.Net框架来处理所有这些,告诉我查看页面的人的用户名是什么。就这样。有一种方法可以用Asp.Net Web应用程序模板来实现。
但是如果我从Asp.Net的works应用程序模板开始,那么登录的内容就会开箱即用.但是后来我陷入了一个可怕的混乱,试图为数据库创建一个UI!但是,考虑到动态数据实体Web应用程序模板中已经存在该代码,这不应该是必要的。再说一遍,我真的不想知道它是怎么做的,我只是想用它来为我做一些事情,这样我就不用去做了。我不想告诉它如何更新,删除等等.我不需要使用动态数据实体Web应用程序模板,但是我无法获得登录内容。
无论如何,我已经扯掉了我的大部分头发,我认为这是一个非常简单的任务:用一个简单的数据库创建一个带有登录/注册的网站,使用Code实体方法。我的经验是,如果你想拥有一个数据库,但没有登录,那你就是在笑。如果你想有一个登录,但没有数据库UI,那么你是笑。如果你想两者兼得,那么,除非你是一个超级傻瓜的微软技术专家,生活和呼吸这些东西,否则前面会有很多痛苦。或者你知道“诡计”(可能存在于某个论坛的某个地方)。
总之,我的问题是,我在这里错过了什么?是否有一个有大量其他模板的网站,其模板将Web表单(与自动登录/成员资格控制)和动态数据实体Web应用程序相结合,后者在显示表和允许编辑方面做得很好?我很难相信微软打算让我知道如何完成动态数据实体Web和Asp.Net Web应用程序所做的所有事情,以获得这两种功能。
我花了一周时间才弄明白如何使“”在Web窗体模板类型中工作.基本上,每一小步都是一场巨大的战斗,需要一个又一个论坛的阅读来发现一些小的“窍门”。但最后,我真正需要的是一个模板,它将动态数据实体Web应用程序功能(即数据驱动的网页)与Web窗体功能(即用户登录)结合起来,并将其发布到Azure上。我以为那会很简单。但事实证明,这是一场噩梦,事实上,我完全被困住了。
更新:
我刚刚又花了半天的时间,试图按照http://msdn.microsoft.com/en-us/library/ee923692(v=vs.100).aspx上的建议,让它发挥作用。但这对我不起作用。不应该这么复杂。它不应该要求这样的修补级别来建立这样一种通用的网站格式:一个带有UI和登录的数据库。
现在我又回到几天前遇到的第一个问题,这个问题不知何故消失了,但我不知道如何解决:
PM>启用-迁移System.ArgumentException:参数不正确。(HRESULT例外: 0x80070057 (E_INVALIDARG))
服务器堆栈跟踪:在System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md的EnvDTE.Properties.Item(对象索引)、System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg上的Object[] args、对象服务器、Object[]和outArgs)
异常重新引发: at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg,IMessage retMsg) at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData,( System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetPropertyValueT at System.Data.Entity.Migrations.MigrationsDomainCommand.GetFacade(String configurationTypeName at System.Data.Entity.Migrations.EnableMigrationsCommand.FindContextToEnable(String contextTypeName)在System.Data.Entity.Migrations.EnableMigrationsCommand.<>c_DisplayClass2.<.ctor>b_0() at System.Data.Entity.Migrations.MigrationsDomainCommand.Execute(Action命令中)参数是不正确的。(HRESULT例外: 0x80070057 (E_INVALIDARG))
现在我要放弃了。我必须放弃,因为经过一周的尝试,我可以设法创建一个数据库和UI的Azure网站,但没有登录,或一个网站在Azure上登录,但没有数据库UI。为每个表创建一个网格视图,并连接RowChange、UpdateMethod、DeleteMethod等.手工操作(即不使用动态数据脚手架)将是荒谬的,因为脚手架存在(除非我从一开始就使用该模板,否则很难让它工作,但是如果我使用该模板,那么我就没有登录页面!)。无论如何,现在这个“参数不正确”的错误再次弹出,所以我绕圈转。
发布于 2013-02-21 05:19:44
可以使用ASP.NET动态数据模板在Visual中创建动态数据网站。
在继续之前,必须决定是要创建网站项目还是创建Web应用程序项目。有关更多信息,请参见Web应用程序项目与网站项目。按照适当的步骤操作。创建使用脚手架的动态数据Web应用程序所遵循的大多数步骤对于Web站点项目和Web应用程序项目都是相同的。但是,根据所使用的项目类型,有几个步骤不同。
创建动态数据网站项目
-To使用LINQ模型,选择ASP.NET动态数据链接到SQL站点。
-To使用ADO.NET实体框架模型,选择ASP.NET动态数据实体网站.
有关更多信息,请参阅ASP.NET动态数据层定制。
5.在“网站位置”框中,选择“文件系统”,然后输入要保存网站页面的文件夹的名称。
例如,输入文件夹名C:\WebSites\DynamicData.
6.单击OK。
参考: 创建动态网站
除此之外,你还可以阅读其他信息。我相信没有什么是不可能编程的。如果你能想到的话,我相信你也能做到。:)
https://stackoverflow.com/questions/14994646
复制相似问题