Как интегрировать мой код в проект sitefinity

У нас есть клиентский портал sitefinity. Теперь нам нужно добавить к нему страницы MVC. Я понимаю, как добавить страницу и как перетащить, например, список на содержимое страницы. Но я не понимаю, как я могу создать контроллер и другой код C# для заполнения списка и выполнения других пользовательских действий. Мы не можем открыть проект в Visual Studio, и у нас нет доступа к существующему коду.

2 ответа

Решение

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

Затем вы можете создать компонент MVC следующим образом: (вы должны создать все это в корневой папке / папке MVC)

Сначала создайте контроллер:

[ControllerToolboxItem(Name = "ImportCSV", Title = "ImportCSV", SectionName = "ImportCSV")]
public class ImportCSVController : Controller
{
    // GET: ImportCSV
    public ActionResult Index()
    {
        return View();
    }
}

SectionName - это заголовок группы контента для вас. Custom Title - это заголовок компонента. Имя используется для кода позади.

Затем вы можете создать представления для отображения на странице: (вы должны создать представления в MVC/Views/ImportCSV, sitefinity распознает имя папки для отображения в BE)

<h2>Upload File</h2>
<div class="form-group">
<input type="file" id="dataFile" name="upload" />
</div>
<div class="form-group">
    <a onclick="upload()" class="button" id="btnupload">Upload</a>
</div>

Тогда вам нужно получить доступ к коду, нужно скомпилировать контроллеры \ модели. Вы можете обойтись многим прямо в файле cshtml, хотя НЕ ТРЕБУЕТСЯ компилировать.

Не могли бы вы загрузить новый пустой проект SF, который находится в вашей версии, и начать с нуля, указав свою БД? Скопируйте /App_Data и /ResourcePackages в новый проект и просто запустите его. Должно работать нормально, но любая страница, на которой есть настраиваемый виджет, использующий настраиваемый код, будет "пропадать". Извините, я просто не понимаю, почему у вас нет кода. Я полагаю, можно было бы использовать JustDecompile для получения фактического кода для пользовательских виджетов.

Другие вопросы по тегам