2008-09-08 4 views
2

У меня есть аргумент case 200+ в классическом ASP, который выходит из-под контроля. Он устанавливает 5 переменных, на основании которых выбран случай. Адрес, телефон, имя и т. Д. Просто устанавливает переменные и ничего больше в каждом случае.Заменить огромный оператор Case в классическом ASP

Базы данных или файлы для этого приложения не являются обязательными.

Исходя из мира Perl, я бы использовал хеш для хранения этой информации.

+0

Случаи места расположения так 1-200 + ** я не писал код: D ** – 2008-09-08 16:57:04

ответ

3

Выйти из-под контроля? Я думаю, что он уже вышел из-под контроля!

Не можете ли вы классифицировать случаи в «общие» области и разделить на вспомогательные процедуры?

1

В зависимости от того, что вы хотите для исполнения.

Оператор case является уродливым, но не использует память, которая должна быть выделена.

Однако вы можете создать класс для своих полей и загрузить экземпляры из них в словарь. Выполните эту операцию в сценарии global.asp, так что это произойдет только один раз. Храните словарь в глобальной коллекции asp, так что он выделяется один раз, но используется для каждого вызова страницы.

Мои пристрастия к тому, чтобы здесь не было слишком специфично ... это было какое-то время.

0

Это должно быть сделано с помощью базы данных, но, поскольку вы сказали, что это не вариант, ничто из того, что вы напишете, будет менее сложным, чем оператор switch, поскольку все это должно быть в вашем коде (в соответствии с вашими условиями ни дБ, ни файлов).

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

1

Многие люди используют VBScript для классического ASP, но вы можете использовать JavaScript/JScript на сервере в качестве альтернативы. На самом деле, это мой предпочтительный способ сделать классический ASP, прежде чем перейти к .NET (за исключением некоторых случаев, вам придется смешать в VBScript для особых случаев, т. Е. Disconnected Recordset, ExecuteNoRecords и т. Д.). Он предоставит вам лучшую поддержку ООП и VBScript. Возможно, вы можете попробовать рефакторинг, который впоследствии будет выглядеть как некоторый вид стратегии. Стоит заглянуть, я думаю, для лучшего обслуживания в долгосрочной перспективе.

1

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

0

Словарь сценариев - лучший вариант IMHO.

 Смежные вопросы

  • Нет связанных вопросов^_^