2015-07-21 5 views
0

Когда я просматриваю файл ascx из Sitecore File Manager и отображает что-то вроде CodeBehind = «Promo Downloads.ascx.cs» в заголовке, но, похоже, не существует Есть ли способ управления asp: Literal, который я пытаюсь выяснить, откуда он исходит.Не удается найти код за файлами в Sitecore File Explorer

+1

Как правило, код компилируется перед размещением на сайте, поэтому файлы '.cs' не будут доступны через проводник файлов. Весь код был скомпилирован в DLL-файл. Если у вас есть доступ к исходному коду, вам нужно найти «Promo Downloads.ascx.cs». Если у вас нет доступа к исходному коду по какой-либо причине, вы можете использовать такой инструмент, как dotPeek или JustDecompile, и загрузить свою DLL проекта, а затем найти код для класса Promo Downloads. –

ответ

2

.cs файлы скомпилированы в dll и будут/не должны быть доступны в решении Sitecore с использованием кода, лежащего в основе модели. Это происходит только тогда, когда вы используете старую модель кода файла.

Если вы хотите увидеть код для этого, то вам нужно просмотреть исходный код или декомпилировать DLL.

Чтобы декомпилировать URL-адрес: dll будет находиться в папке/bin. Чтобы узнать, какую dll, посмотрите на пространство имен в файле .ascx - имя dll должно быть первой частью пространства имен.

Как только вы нашли dll, используйте dotpeek https://www.jetbrains.com/decompiler/, чтобы изучить код.

+0

Это было очень полезно. Большое спасибо. Теперь я просто хочу дублировать ascx-файл и изменить небольшой бит кода в .cs (декомпилированный из .dll). Каков наилучший способ сделать это. Я не знаком с компиляцией. Должен ли я создать свою .dll и включить ее в папку bin? – leflis

+0

Было бы лучше для вас создать новую dll. Создайте новый пустой веб-проект визуальной студии, добавьте в решение новый ascx-файл. Скопируйте разметку из существующего файла ascx и поместите в этот ascx, добавьте код за кодом из декомпилятора и добавьте в файл ascx.cs. Убедитесь, что объявления пространства имен одинаковы в ascx и cs. Вероятно, вам нужно добавить ссылки на файл Sitecore.Kernel.dll в проект, чтобы он был создан. Как только он будет создан, вы можете скопировать dll в папку bin и зарегистрировать новый подъярус в Sitecore. –

+0

Если вы не знакомы с C#, visual studio и Sitecore, это может быть крутой урок обучения, но следуйте приведенным выше инструкциям. –