Комбинация шаблона веб-приложения с динамическими объектами данных и шаблона веб-форм Asp.Net

Я хотел бы создать веб-сайт с помощью Visual Studio 2012 для Интернета, который имеет базу данных и сгенерированный пользовательский интерфейс, такой как у нас, если мы используем проект шаблона:

Веб-приложение с динамическими объектами данных

Но я также хотел бы иметь страницу входа, такую ​​как предоставленная проектом шаблона:

Приложение веб-форм Asp.Net

Я обнаружил, что шаблоны отлично подходят для любой из этих задач, но довольно плохи, если вам нужны оба из них.

Если я начну с шаблона веб-приложения Dynamic Data Entities, я получу отличные страницы для базы данных с очень небольшим количеством кода, но мне не удается заставить код входа в систему работать (также, я не думаю, что мне следует писать этот код в любом случае, поскольку он уже существует в приложении веб-форм Asp.Net). Всякий раз, когда я пытаюсь, я попадаю в ужасный беспорядок. Я действительно не хочу узнавать об аутентификации, членстве и файлах cookie, или «как это происходит», или о чем-то подобном. Я хочу, чтобы среда .Net справилась со всем этим и просто сообщила мне, какое имя пользователя имеет лицо, просматривающее страницу. Это все. И есть способ сделать это с помощью шаблона Asp.Net Web Forms Application.

Но если я начну с шаблона Asp.Net Web Forms Application, то логин будет работать из коробки ... но потом я попаду в ужасный беспорядок, пытаясь создать пользовательский интерфейс для базы данных! Но в этом нет необходимости, учитывая, что этот код уже существует в шаблоне веб-приложения динамических сущностей данных. Опять же, я действительно не хочу изучать, как он это делает, я просто хочу использовать его, чтобы делать вещи за меня, чтобы мне не приходилось этого делать. Я не хочу рассказывать ему, как обновлять, удалять и т. Д., И мне не нужно использовать шаблон веб-приложения Dynamic Data Entities, но тогда я не могу получить данные для входа в систему.

Как бы то ни было, я вырвал большую часть волос с помощью того, что, как я думал, будет довольно простой задачей: создать веб-сайт с входом / регистрацией с простой базой данных, используя подход Code First Entities. По моему опыту, если вы хотите иметь базу данных, но без входа в систему, вы смеетесь. Если вы хотите иметь логин, но не иметь пользовательского интерфейса базы данных, вы смеетесь. Если вы хотите иметь и то, и другое, впереди вас ждет много боли, если только вы не супер-пуперский технологический эксперт Microsoft, который живет и дышит этим ... или вы знаете "трюк" (который, вероятно, существует где-то на каком-то форуме).

В любом случае, мой вопрос, что мне здесь не хватает? Есть ли веб-сайт с целым набором других шаблонов, на котором есть шаблон, который объединяет веб-формы (с автоматическим контролем входа / членства) с веб-приложением Dynamic Data Entities, которое отлично справляется с отображением таблиц и позволяет редактировать? Мне трудно поверить, что Microsoft предполагала, что я должен знать, как делать все, что делает веб-приложение Dynamic Data Entities и это приложение веб-форм Asp.Net, чтобы получить обе функции.

У меня ушла неделя на то, чтобы понять, как заставить «Enable-Migrations» работать в типе шаблона веб-форм ... По сути, каждый маленький шаг был огромной битвой, требующей чтения форума за форумом, чтобы обнаружить маленькие «хитрости». Но, в конце концов, все, что мне действительно нужно, это шаблон, который сочетает в себе возможности веб-приложения динамических сущностей данных (то есть веб-страницы, управляемые данными) с возможностью веб-форм (то есть вход пользователя) и для публикации его в Azure. Я думал, это будет просто. Но оказалось, что это был кошмар, и на самом деле я полностью застрял.

Обновлять:

Я только что потратил еще полдня, пытаясь заставить это работать, следуя совету на http://msdn.microsoft.com/en-us/library/ee923692(v=vs.100).aspx. Но у меня не работает. Не должно быть так сложно. Это не должно требовать такого уровня возни, чтобы создать такой общий формат веб-сайта: база данных с пользовательским интерфейсом и логином.

Теперь я вернулся к первой проблеме, с которой я столкнулся несколько дней назад, которая каким-то образом исчезла, но я понятия не имею, как:

PM> Enable-Migrations 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)

Исключение повторно генерируется в [0]: в System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage reqMsg, IMessage retMsg) в System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (MessageData и msgData, тип IntDTE. Элемент (индекс объекта) в System.Data.Entity.Migrations.Extensions.ProjectExtensions.GetPropertyValue [T] (проект проекта, String propertyName) в System.Data.Entity.Migrations.MigrationsDomainCommand.GetFacade (String configurationTypeName) в System.Data. Entity.Migrations.EnableMigrationsCommand.FindContextToEnable (String contextTypeName) в System.Data.Entity.Migrations.EnableMigrationsCommand. ‹> C_ DisplayClass2.‹. Ctor> b _0 () в System.Data.Entity.Migrations .MigrationsDomainCommand.Execute (команда действия) Неверный параметр. (Исключение из HRESULT: 0x80070057 (E_INVALIDARG))

На этом я собираюсь сдаться. Я должен отказаться, потому что после недели попыток мне удалось создать веб-сайт в Azure с базой данных и пользовательским интерфейсом, но без входа в систему ИЛИ веб-сайт в Azure с входом в систему, но без пользовательского интерфейса базы данных. Для меня создать представление сетки для каждой из моих таблиц и подключить RowChange, UpdateMethod, DeleteMethod и т. Д. Вручную (то есть без использования динамических структур данных) было бы смешно, учитывая, что каркасы существуют (это просто слишком сложно заставить его работать, если я не использую этот шаблон с самого начала, но если я использую этот шаблон, у меня нет страницы входа!). Во всяком случае, теперь эта ошибка «Параметр неверен» снова появляется, поэтому я хожу по кругу.


person user859400    schedule 21.02.2013    source источник
comment
Ваш вопрос довольно длинный, дружище Т_Т. Читая дневник, кажется, что вы ненавидите программировать, просто вы хотите использовать программное обеспечение и делать все за вас.   -  person bot    schedule 21.02.2013
comment
Дело не в том, что я ненавижу программировать, просто я хочу написать программу, которая использует динамические данные и вход в веб-формы, но я не хочу (и не могу / не знаю, как) делать их, поскольку они оба уже существуют сами по себе. На самом деле мне нужно знать, как их комбинировать. Кажется, это не так просто, учитывая, что blogs.msdn.com/b/webdev/archive/2013/02/18/ (но это не для Express, и только вчера видел).   -  person user859400    schedule 23.02.2013
comment
Не думаю, что вы одиноки, user859400.   -  person JustJohn    schedule 01.09.2016


Ответы (1)


Вы можете создавать веб-сайты с динамическими данными в Visual Studio с помощью шаблонов динамических данных ASP.NET.

Прежде чем продолжить, вы должны решить, хотите ли вы создать проект веб-сайта или проект веб-приложения. Для получения дополнительной информации см. Сравнение проектов веб-приложений и проектов веб-сайтов. Выполните шаги соответствующей процедуры. Большинство шагов, которые вы выполняете для создания веб-приложения с динамическими данными, использующего каркас, одинаковы как для проектов веб-сайтов, так и для проектов веб-приложений. Однако несколько шагов различаются в зависимости от того, какой тип проекта вы используете.

Чтобы создать проект веб-сайта с динамическими данными

  1. Запустите Visual Studio или Visual Web Developer.
  2. В меню Файл выберите Новый веб-сайт. Откроется диалоговое окно Новый веб-сайт.
  3. В разделе Установленные шаблоны на левой панели выберите Visual Basic или Visual C #.
  4. На центральной панели выберите один из следующих вариантов:

-Чтобы использовать модель LINQ to SQL, выберите ASP.NET Dynamic Data LINQ to SQL Web Site.
-Чтобы использовать модель ADO.NET Entity Framework, выберите ASP.NET Веб-сайт динамических объектов данных.

Для получения дополнительной информации см. Настройка уровня динамических данных ASP.NET

5. В поле Местоположение в Интернете выберите Файловая система, а затем введите имя папки, в которой вы хотите хранить страницы веб-сайта.
< br /> Например, введите имя папки C: \ WebSites \ DynamicData.

6. Нажмите ОК.

ССЫЛКА: Создание динамического веб-сайта

Кроме этого, вы также можете прочитать из него другую информацию. И я считаю, что в программировании нет ничего невозможного. Если вы можете так думать, я думаю, вы тоже можете это сделать. :)

person bot    schedule 21.02.2013
comment
Но как добавить к этому форму входа? Я думаю, что OP знает, как создать веб-сайт с динамическими данными, но я не думаю, что они нашли способ прикрепить форму входа. - person Daniel Hollinrake; 12.07.2013