Лучший способ включить сценарии и CSS в рендеринг / частичное представление MVC3 - PullRequest
0 голосов
/ 10 декабря 2011

работая в проекте Asp.Net MVC3, используя бритвенный движок, я обнаружил ситуацию, которую не знаю, как лучше всего справиться. В представлении у меня следующая ситуация:

@foreach (var item in Model.Items) { 
   Html.RenderAction("ActionName", new {param = item});
}

Я думаю, что это очень типичная ситуация.

Теперь предположим, что для рендеринга html-части требуется пара файлов javascript для правильной работы, а также css. А также я хочу, чтобы частичное представление этого действия было доступно и в других представлениях, один или несколько раз.

Вопрос в том, где лучше всего разместить ссылки на внешние js и css? Я бы сказал, что в PartialView ... но я могу избежать того, что вызов RenderAction n раз, не помещает на страницу n раз одно и то же объявление скрипта? Более того, сказал, что проблема повторения JS и CSS решена, как я должен связать эти внешние ресурсы с видом? Обычно в своих представлениях я помещаю внешние ресурсы в выделенный раздел, который страница макета будет отображать внизу страницы, из соображений производительности. Должен ли я делать то же самое с частичным представлением, предполагая, что представление, которое вызывает его, будет иметь доступ к разделу сценариев ? Но таким образом я связываю дизайн многократного частичного ViewView со структурой представления хостинга: если так, разве я не должен просто объявлять сценарии и CSS в представлении хостинга?

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

1 Ответ

0 голосов
/ 10 декабря 2011

Я обычно пытаюсь выяснить, нужен ли мне файл css или js на нескольких страницах или только на одной. Например, я включаю файл jquery в layout.cshtml, чтобы быть уверенным, что каждое представление в проекте, так же, как и основные файлы CSS. И затем те файлы, которые мне нужны только для определенных видов, я просто включаю их в то, что есть в главном представлении, конечно, оно есть и во всех частичках этого представления. Если вы поместите ссылку в партиал и вызовете ее несколько раз, у вас будет несколько ссылок. Вы можете просто поместить ваши ссылки прямо над циклом foreach, и все частичные файлы будут иметь к нему доступ.

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