Где я должен включить ссылку на javascript для представления, которое наследует от основного представления в ASP.NET MVC? - PullRequest
1 голос
/ 15 июня 2009

У меня есть несколько страниц, унаследованных от основного вида. На одной из этих страниц я хочу использовать популярный плагин jQuery под названием " Uploadify ".

Где разместить ссылку на файл Uploadify javascript? Мне нужно только на одной маленькой странице, поэтому было неправильно размещать ее в режиме просмотра Master. Можно ли поместить его в тег содержимого моего унаследованного представления, которое будет использовать этот плагин?

Ответы [ 3 ]

6 голосов
/ 15 июня 2009

Лучший из известных мне способов сделать это - добавить ContentPlaceHolder в раздел <head> в MasterPage и добавить теги <script> в Content, ссылаясь на этот раздел на всех нужных страницах. дополнительные javascripts (или stylehseets, или что-то еще ... Это, безусловно, добавляет дополнительную степень свободы).

В тебе мастер:

<head>
    <!-- Sitewide script references, title tags etc goes here -->

    <asp:ContentPlaceHolder ID="HeadContent" runat="server" />
</head>

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

На вашей странице требуется дополнительный js-скрипт:

<asp:Content ID="HeadContentFromPage" ContentPlaceHolderId="HeadContent">
    <script type="text/javascript" src="myPageSpecificScript.js"></script>
</asp:Content>
0 голосов
/ 15 июня 2009

Вы можете добавить блок контента в часть вашей главной страницы. Это сохранит ссылку на ваш файл js в заголовке документа и вне тела документа.

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

0 голосов
/ 15 июня 2009

Поместите элемент управления ScriptManager на свою главную страницу и включите в него часто используемые файлы JS:

<asp:ScriptManager ID="ScriptManager1" runat="server" >
  <Scripts>
    <asp:ScriptReference Path="Common.js" />
  </Scripts>
</asp:ScriptManager>

Поместите элемент управления ScriptManagerProxy на свои контентные страницы (или на любые пользовательские элементы управления) и включите туда определенные файлы JS:

<asp:ScriptManagerProxy ID="ScriptManagerProxy1" runat="server" >
  <Scripts>
    <asp:ScriptReference Path="Specific.js" />
  </Scripts>
</asp:ScriptManagerProxy>

РЕДАКТИРОВАТЬ : Я не уверен, что это также работает с ASP.NET MVC .

...