2009-07-30 2 views
0

Может быть, я усложняю это, но вы наверняка поучите меня.Параметры конфигурации в ASP.NET MVC

Представьте страницу, на которой отображается список. Этот список вызывается. Я указываю, что в списке отображается 30 элементов, поэтому контроллер возвращает мои 30 элементов, а представление отображает 30 элементов. Мой вопрос: и контроллер, и представление должны знать настройки 30. Где его хранить? Web.config? Я имею в виду, если совместный конфиги через web.config, которые используются через «слои» является хорошей практикой ...

Tks заранее

ответ

0

Web.config прекрасно. Вы считали, что длина страницы является динамической, возможно, на основе значения querystring? (в любом случае вам по-прежнему нужен по умолчанию сохраненный или жестко закодированный где-то)

Кроме того, я, вероятно, разбираюсь здесь, но вы не хотите, чтобы ваше представление явно знало об этом параметре (т.е. , напрямую доступ к значению web.config). Он должен просто перебирать список элементов, которые контроллер передает, независимо от количества.

+0

Согласовано, а опция запроса является другой причиной, по которой представление не должно знать, где находится источник. Вся эта логика будет жить в вашем контроллере (или, если она будет достаточно сложной, возможно, моделью). – krohrbaugh

+0

То, что я сказал, не совсем правильно, извините за это. У меня есть количество столбцов и строк, скажем, 3 столбца на 10 строк, получая 30 элементов для извлечения. Мне нужна пара значений в представлении, чтобы он мог быть достаточно умным, чтобы генерировать правильный макет, и мне нужен он в контроллере, чтобы он знал, что ему нужно получить 3 * 10 записей. Передача этих параметров в строке запроса не является хорошей идеей, потому что пользователь может испортить их, чтобы разбить макет. Наверное, я добавлю их в web.config. Tks вы оба для своих ответов;) – Dante

+1

Я думал об этом и не должен быть правильным способом реализации: - Контроллер считывает web.config (10 строк на 3 параметра cols); - Контроллер получает 10x3 элементов из БД; - Контроллер подает 30 элементов в представление, а также количество столбцов и строк, которые оно должно генерировать. Это оставит вид полностью слепым относительно конфигураций ... – Dante

1

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

Что вам не следует делать, так это иметь представление как для получения данных. Другими словами, ваше представление не должно знать, откуда этот параметр «30», поэтому вы можете изменить его в будущем без изменений, необходимых для представления.

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