как я могу преобразовать frm php в c # или json (extjs)

Я использую пример макета браузера для моего приложения

я пытаюсь добавить к нему два дерева

то, что я пытаюсь сделать здесь, – это определить двойки в отдельном файле, моим основным файлом является layout-browser.js, и мне нужно добавить это (и другие) на вкладках, которые у меня есть. не стесняйтесь задавать мне другие вопросы, если это не клер, и, пожалуйста, расскажите мне, что я действительно новый для всего этого и не могу его схватить

проблема в том, что im using .net и пример использует php

так как я могу сделать эту работу в .net

вот мой код:

Ext.require ([ '*']);

var store = Ext.create('Ext.data.TreeStore', { proxy: { type: 'ajax', url: 'get-nodes.php' }, root: { text: 'Ext JS', id: 'src', expanded: true }, folderSort: true, sorters: [{ property: 'text', direction: 'ASC' }] }); var tree = Ext.create('Ext.tree.Panel', { id: 'tree', store: store, width: 250, height: 300, columnWidth: 0.5, viewConfig: { plugins: { ptype: 'treeviewdragdrop', appendOnly: true } } // ,renderTo: document.body }); var store2 = Ext.create('Ext.data.TreeStore', { proxy: { type: 'ajax', url: 'get-nodes.php' }, root: { text: 'Custom Ext JS', id: 'src', expanded: true, children: [] }, folderSort: true, sorters: [{ property: 'text', direction: 'ASC' }] }); var tree2 = Ext.create('Ext.tree.Panel', { id: 'tree2', width: 250, height: 300, columnWidth: 0.5, store: store2, viewConfig: { plugins: { ptype: 'treeviewdragdrop', appendOnly: true } } // ,renderTo: document.body }); Ext.define("Ext.app.myTwoTrees",{ extend:"Ext.panel.Panel", width : 600, height: 350, layout: 'column', items: [ tree , tree2 ] }); 

я называю это на моей вкладке, как это

  Ext.create('Ext.app.myTwotrees') 

здесь находится get-nodes.php

 <?php // from php manual page function formatBytes($val, $digits = 3, $mode = 'SI', $bB = 'B'){ //$mode == 'SI'|'IEC', $bB == 'b'|'B' $si = array('', 'K', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y'); $iec = array('', 'Ki', 'Mi', 'Gi', 'Ti', 'Pi', 'Ei', 'Zi', 'Yi'); switch(strtoupper($mode)) { case 'SI' : $factor = 1000; $symbols = $si; break; case 'IEC' : $factor = 1024; $symbols = $iec; break; default : $factor = 1000; $symbols = $si; break; } switch($bB) { case 'b' : $val *= 8; break; default : $bB = 'B'; break; } for($i=0;$i<count($symbols)-1 && $val>=$factor;$i++) $val /= $factor; $p = strpos($val, '.'); if($p !== false && $p > $digits) $val = round($val); elseif($p !== false) $val = round($val, $digits-$p); return round($val, $digits) . ' ' . $symbols[$i] . $bB; } // grab the custom params $path = isset($_REQUEST['path'])&&$_REQUEST['path'] == 'extjs' ? '../../../' : '../../'; $node = isset($_REQUEST['node']) ? $_REQUEST['node'] : ''; $isXml = isset($_REQUEST['isXml']); if(strpos($node, '..') !== false){ die('Nice try buddy.'); } $nodes = array(); $directory = $path.$node; if (is_dir($directory)){ $d = dir($directory); while($f = $d->read()){ if($f == '.' || $f == '..' || substr($f, 0, 1) == '.') continue; $filename = $directory . '/' . $f; date_default_timezone_set('America/Los_Angeles'); $lastmod = date('M j, Y, g:i a', filemtime($filename)); if(is_dir($directory.'/'.$f)){ $qtip = 'Type: Folder<br />Last Modified: '.$lastmod; $nodes[] = array( 'text' => $f, 'id' => $node.'/'.$f, 'cls' => 'folder' ); } else { $size = formatBytes(filesize($filename), 2); $qtip = 'Type: JavaScript File<br />Last Modified: '.$lastmod.'<br />Size: '.$size; $nodes[] = array( 'text' => $f, 'id' => $node.'/'.$f, 'leaf' => true, 'cls' => 'file' ); } } $d->close(); } if ($isXml) { $xmlDoc = new DOMDocument(); $root = $xmlDoc->appendChild($xmlDoc->createElement("nodes")); foreach ($nodes as $node) { $xmlNode = $root->appendChild($xmlDoc->createElement("node")); $xmlNode->appendChild($xmlDoc->createElement("text", $node['text'])); $xmlNode->appendChild($xmlDoc->createElement("id", $node['id'])); $xmlNode->appendChild($xmlDoc->createElement("cls", $node['cls'])); $xmlNode->appendChild($xmlDoc->createElement("leaf", isset($node['leaf']))); } header("Content-Type: text/xml"); $xmlDoc->formatOutput = true; echo $xmlDoc->saveXml(); } else { echo json_encode($nodes); } 

большое спасибо

Я бы порекомендовал вам разбить проблему на две части:

1) измените url: 'get-nodes.php' на url: 'my-dotnet-url и сделайте страницу .NET возвращенной статичной JSON или XML (hardcode значения для дерева)

Это подтвердит, что все ваши javascript, ресурсы и т. Д. Работают правильно и что вы задаете только вопрос .NET о том, как выводить определенные данные.

2) Затем найдите пример .NET, который позволит вам создавать JSON или XML из любого места, где вы получаете данные (я предполагаю, вероятно, базу данных). Вам просто нужен результат, чтобы выглядеть как ваши статические данные, которые работали правильно. Если вы не знаете много PHP или .NET обучения .NET, чтобы получить правильный результат, было бы проще, чем пытаться переносить этот пример. Если вы застряли, я отвечу на другой вопрос и спрошу, как динамически выводить данные, полученные из этого статического файла, и не участвуют в усложнении extjs!

Надеюсь это поможет.

Попробуйте Dextop . Это платформа приложений для соединения между ASP.NET и Ext JS.