Tinymce - довольно распространенный редактор WYSIWYG, который позволяет пользователям приобретать систему управления имиджем/файлами или создавать свои собственные. Я хочу обновить систему управления контентом от tinymce 2x до 4x. В 4x изображения должны быть представлены вызову tinymce как json-объект в объявлении image_list: http://www.tinymce.com/wiki.php/Configuration:image_listjson.net объект из каталога
На основе этого формата цель состоит в том, чтобы .Net читал папку с изображением и представлял название и значение как filename и 'images/filename' каждого файла. Я работал над этим в последние несколько дней, и я сделал некоторый прогресс, но не до точки функционального образца. Похоже, что это будет то, что другие, использующие .Net и Tinymce, захотят использовать, если они откатывают свою собственную систему управления изображениями (что я должен сделать в этом случае).
Этот пример (см. Ссылку), кажется, приближается, но мой тест (см. Код ниже) возвращает нулевые значения для названия и значения. Когда я попытался включить две другие переменные в примере, я получаю сообщения об ошибках, что переменные недоступны или недоступны. Converting List of Files into JSON array in C#
Вот C# сценария Я пытаюсь использовать в создании переменной JSON ссылок изображения:
<%@ Import Namespace="Newtonsoft.Json" %>
<script runat="server">
public class FileInformation
{
[JsonProperty(PropertyName = "title")]
public string actualFileName {get;set;}
public string value {get;set;}
}
public string image_list()
{
string[] arr = new string[3]; // Initialize
arr[0] = ".jpg"; // Element 1
arr[1] = ".png"; // Element 2
arr[2] = ".gif"; // Element 3
var imgPath = Server.MapPath("~/images/");
var list = new List<FileInformation>();
//string[] fileNames = Directory.GetFiles(imgPath, "*", SearchOption.TopDirectoryOnly);
string[] fileNames = Directory.GetFiles(imgPath);
foreach (string filename in fileNames)
{
FileInfo fileInfo = new FileInfo(filename);
string actualFileName = fileInfo.Name;
string value = fileInfo.Name;
list.Add(new FileInformation(){});
}
var yourJSONString = JsonConvert.SerializeObject(list);
return yourJSONString;
}
...
</script>
Вот вызов Javascript на странице:
<script type="text/javascript">
tinymce.init({
image_list: '<%= image_list()%>',
image_class_list: [
{title: 'None', value: ''},
{title: 'Float Right', value: 'img_fright'}
]
});
сокращенного Источник код из паттерна, где отображается image_list:
image_list: '[{"title":null,"value":null},{"title":null,"value":null},{"title":null,"value":null}]',
Любые мысли о том, где это может пойти не так?
Вы подумали о том, чтобы положить C# в код на стороне сервера за/действие контроллера (в зависимости от того, какую структуру вы используете)? И затем отлаживаем, чтобы увидеть, действительно ли в каталоге.GetFiles есть значения. –