Используя .net и vb, как я могу работать с сессиями и динамическими переменными? - PullRequest
0 голосов
/ 03 октября 2018

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

Будут идентификаторы сервисов, такие как 1, 2, 3и т. д. Для каждого идентификатора услуги будут добавлены действия, такие как A, E, D для добавления, редактирования и удаления.Будет заполнена форма на основе идентификатора услуги и действия.

Мне нужно отслеживать, например:

  • Идентификатор услуги: 1
  • Действие: A
  • Форма: имя, фамилия, адрес и т. Д.

Как динамически связать эти переменные?

Если я создаю сеанс для первогоимя, оно может просто содержать одно имя.Мне нужно, чтобы это имя было привязано к идентификатору и действию.

Dim FirstName As String = CType(Session.Item("FirstName"), String)

Поэтому я думаю, что мне нужен цикл for для динамического создания набора переменных формы для каждого идентификатора службы и комбинации действий.Мне нужна помощь, чтобы узнать, в каком направлении идти.Я не совсем понимаю, как это начать.

1 Ответ

0 голосов
/ 04 октября 2018

В такой ситуации я бы рассмотрел многомерный массив, и если службы не меняются, рассмотрите возможность сохранения его в массиве приложений. Приложение при запуске

  Dim aryServices(3, 4) As Object '4 services, 3 properties per service
  aryServices.SetValue(1, 0, 0)
  aryServices.SetValue("Action A", 1, 0)
  aryServices.SetValue("First Name, Last Name, Address", 2, 0)
  aryServices.SetValue(2, 0, 1)
  aryServices.SetValue("Action B", 1, 1)
  aryServices.SetValue("First Name, Last Name,ZipCode", 2, 1)
  aryServices.SetValue(3, 0, 2)
  aryServices.SetValue("Action C", 1, 2)
  aryServices.SetValue("First Name, Last Name,Password", 2, 2)
  aryServices.SetValue(4, 0, 3)
  aryServices.SetValue("Action D", 1, 3)
  aryServices.SetValue("Last Name,Password", 2, 3)
  Application.Item("aryServices") = aryServices

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

Dim aryServices(,) As Object = Application.Item("aryServices")
Response.Write(aryServices.GetValue(1, 1))

Он не так эффективен, как объект словаря, но иногда в начале проекта этот метод был простым способоммне начать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...