Я использую элемент управления jQuery Ajax с этого сайта http://abeautifulsite.net/2008/03/jquery-file-tree/
У меня все работает. Я пытался задать вопрос поддержки, но так и не получил ответ, думая, что кто-то здесь может пролить свет на ситуацию.
По сути, я пытаюсь выполнить выбор файла, выполнив действие, которое возвращает JsonResult, который дает более подробную информацию о файле и затем отображает их на экране в контейнере. Пока я отлаживаю, метод получает удар, возвращает правильные данные. После возврата в вызове ajax я получаю ошибку в firebug о том, что предел рекурсии превышен. Я не уверен, как обойти это ... Я думал, что я мог бы использовать обратный вызов метода fileTree (параметры, обратный вызов), но это не срабатывает при выборе файла только инициализации дерева файлов. Есть идеи?
Вот что я сделал с помощью JavaScript
function initFileTree() {
$('#fileTree').fileTree({ root: '/', script: '/Scripts/filetree/jqueryFileTree.aspx', multiFolder: false, expandEasing: 'easeOutBounce', collapseEasing: 'easeOutBounce' }, function(file) {
getFileDetails(file);
});
}
function getFileDetails(file) {
// alert(file);
$.getJSON('/Files.mvc/GetFileDetails', { Data: file }, function(data) {
$('#fileDetail').html('<h6>Selected File: ' + data.Length + '</h6>');
}, 'json');
}
Вот мое действие, которое берет данные и возвращает JsonResult
public virtual JsonResult GetFileDetails(string data)
{
string pageMessage = null;
FileInfo fileInfo = null;
try
{
fileInfo = new FileInfo(data);
}
catch (Exception e)
{
pageMessage = e.Message;
}
return Json(fileInfo);
}