powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / JSON to HTML - лучший способ?
51 сообщений из 51, показаны все 3 страниц
JSON to HTML - лучший способ?
    #38455697
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть JSON с маской и мачете постоянным набором ключей. Есть контейнер (допустим, условный div), который должен принять этот распарсенный JSON. JSON состоит из маски и мачете простых строчных данных, а также нескольких массивов. Размер массивов может меняться от запроса к запросу. Как лучше превратить JSON в HTML?

У меня есть два основных варианта. 1 - всё сделать на джаваскрипте (jQuery). 2 - сделать "скелет" из HTML с назначенными айдишниками и классами, а потом в этот HTML вставлять данные из JSON (наверное, методом findById/paste или чем-то в этом роде - что там у jQuery есть).

Проблема в том, что я в джаваскрипте и jQuery новичок, поэтому мне кажется, что вариант 1 будет для меня трудноватым. А второй вариант вроде как не предусматривает динамическое создание тегов с их атрибутами (всё уже есть в статике), а только считывание из JSON и вставку в нужный тег по айдишнику тега или как-то так.

Кто что посоветует? Если можно, приведите пример, пожалуйста, для первого варианта и для второго. Скажем, в первом варианте создаём такой-то тег, добавляем такие-то атрибуты, назначаем такие-то айди и класс, вставляем в тег такие-то данные из JSON. И для второго варианта тоже в этом же роде: ищем в HTML тег с таким-то айди и вставляем в него такие-то данные из JSON.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455706
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нормальные люди для этого используют шаблоны. В качестве шаблонизатора можно выбрать, к примеру, xslt или razor.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455712
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУНормальные люди для этого используют шаблоны. В качестве шаблонизатора можно выбрать, к примеру, xslt или razor.
Эмм... Ну, я использую Razor по-умолчанию. Только как это поможет создать у клиента нужный кусок разметки? Это же серверная штука.

...А, я забыл сказать, что JSON приходит асинхронным запросом. Это же что-то меняет?
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455719
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Эмм... Ну, я использую Razor по-умолчанию. Только как это поможет создать у клиента нужный кусок разметки? Это же серверная штука.
Шаблон лежит на сервере в виде разор разметки, из js клиента ты его поднимаешь, передаешь параметры, и разором на сервере происходит маппинг. На клиенте ты пролучаешь готовый html.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455722
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
раз уж зашел разговор про jQuery то под него и шаблонизатор есть (и кажись не один)
http://habrahabr.ru/post/112843/

и по-моему автор не тот форум выбрал для своего вопроса
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455724
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 сразу отказать. 1 не настолько сложно, как кажется. 3й вариант является комбинацией первых двух — тынц
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455726
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самый простой вариант, хранить шаблон на клиенте:

Код: html
1.
2.
3.
4.
5.
6.
<table id="template" style="display:none">
    <tr>
        <td></td>
        <td><a class='dynatree-title' href='#'></a></td>
    </tr>
</table>



И вручную его намапить:

Код: javascript
1.
2.
3.
4.
var template = $("#template").clone();
template.find("td:eq(0)").text(node.data.key);
template.find("td:eq(1) a").text(node.data.title);
var html = template.html();



Ну и отрисовать html в нужном месте.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455769
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Глубоко с jQuery хотелось бы разбираться в последнюю очередь, но советы по ним потом посмотрю, если другого ничего не выйдет.


МСУСамый простой вариант, хранить шаблон на клиенте:

Код: html
1.
2.
3.
4.
5.
6.
<table id="template" style="display:none">
    <tr>
        <td></td>
        <td><a class='dynatree-title' href='#'></a></td>
    </tr>
</table>



И вручную его намапить:

Код: javascript
1.
2.
3.
4.
var template = $("#template").clone();
template.find("td:eq(0)").text(node.data.key);
template.find("td:eq(1) a").text(node.data.title);
var html = template.html();



Ну и отрисовать html в нужном месте.
Шаблон - это и есть мой второй вариант, как я понял. А не могли бы вы дать ссылку на статью с подробным описанием этого действа c шаблонами, включая то, как отрисовать получившийся html в нужном месте?
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455781
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Чтобы ясно стало, я сценарий полностью проговорю. Есть страница со ссылками. Кликаешь на ссылку - идёт ajax на сервер, который возвращает json с описанием объекта. Описание должно появиться справа от ссылок. Вроде, всё стандартно.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455783
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если хранить шаблон на сервере, то придётся вставлять его как raw на клиенте, как я понимаю. А это не совсем гуд с точки зрения безопасности.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455790
Фотография Паганель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Чтобы ясно стало, я сценарий полностью проговорю. Есть страница со ссылками. Кликаешь на ссылку - идёт ajax на сервер, который возвращает json с описанием объекта. Описание должно появиться справа от ссылок. Вроде, всё стандартно.вот если бы при клике на ссылке происходил переход по этой ссылке, тогда было бы стандартно
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455848
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Чтобы ясно стало, я сценарий полностью проговорю. Есть страница со ссылками. Кликаешь на ссылку - идёт ajax на сервер, который возвращает json с описанием объекта. Описание должно появиться справа от ссылок. Вроде, всё стандартно.

knockout.js
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455875
Boneshock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУИ вручную его намапить:

Код: javascript
1.
2.
3.
4.
var template = $("#template").clone();
template.find("td:eq(0)").text(node.data.key);
template.find("td:eq(1) a").text(node.data.title);
var html = template.html();



Ну и отрисовать html в нужном месте.

МСУ, нафига, если есть jquery templates(о чем писал выше Паганель)

плюсую за них
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455899
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
При чём жКвери и JSON?
JSON прекрасно преобразуется (или даже является, смотря как передать на страницу) структурированым объектом javascript.
Какое нафиг жквери? Чистый яваскрипт.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455929
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BoneshockМСУ, нафига, если есть jquery templates(о чем писал выше Паганель)
плюсую за них
Я вообще за серверный шаблонизатор razor, а не за клиентский. Он рулит. Шаблон на сервере, нормальная модель представления и всё такое.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455933
Boneshock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeПри чём жКвери и JSON?
JSON прекрасно преобразуется (или даже является, смотря как передать на страницу) структурированым объектом javascript.
Какое нафиг жквери? Чистый яваскрипт.

дада, мы помним, CGI и Vanilla javascript, спасибо
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455936
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Паганельuser7320Чтобы ясно стало, я сценарий полностью проговорю. Есть страница со ссылками. Кликаешь на ссылку - идёт ajax на сервер, который возвращает json с описанием объекта. Описание должно появиться справа от ссылок. Вроде, всё стандартно.вот если бы при клике на ссылке происходил переход по этой ссылке, тогда было бы стандартно
А зачем переход? Ссылки - это на самом деле дерево ссылок. Переход - это полностью новая сгенеренная на сервере страница, включая это дерево. Не лучше ли только кусочек со статьёй обновить асинхронно? Тем более, что с деревом придётся возиться - запоминать, какие узлы были открыты, какие закрыты, какой узел был выбран.

Да, про дерево я забыл сказать, извините.


BoneshockМСУИ вручную его намапить:

Код: javascript
1.
2.
3.
4.
var template = $("#template").clone();
template.find("td:eq(0)").text(node.data.key);
template.find("td:eq(1) a").text(node.data.title);
var html = template.html();



Ну и отрисовать html в нужном месте.

МСУ, нафига, если есть jquery templates(о чем писал выше Паганель)

плюсую за них
Это?


ShSergeПри чём жКвери и JSON?
JSON прекрасно преобразуется (или даже является, смотря как передать на страницу) структурированым объектом javascript.
Какое нафиг жквери? Чистый яваскрипт.
Приведите пример, пожалуйста.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455952
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320...Приведите пример, пожалуйста.
Не приведу. Не хочу. Сами по форуму ищите.
Я плакаю.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455956
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BoneshockShSergeПри чём жКвери и JSON?
JSON прекрасно преобразуется (или даже является, смотря как передать на страницу) структурированым объектом javascript.
Какое нафиг жквери? Чистый яваскрипт.

дада, мы помним, CGI и Vanilla javascript, спасибо
А что такое "Vanilla"?
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455959
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeА что такое "Vanilla"?
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455976
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320,

ещё раз. knockout.js идёт в комплекте стандартного шаблона MVC 4

повторить? там и темлейты есть, и биндинг JSON модели полученной по AJAX. в общем всё есть. в коробке. подключи всего 1 js файл, и не парь себе и людям голову

туториалы на сайте разберётся с ними ребёнок за пол часа.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455977
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttShSergeА что такое "Vanilla"?


Чё ржошь? Все знают, а я - нихрена не знаю. :)
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455979
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455984
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МСУBoneshockМСУ, нафига, если есть jquery templates(о чем писал выше Паганель)
плюсую за них
Я вообще за серверный шаблонизатор razor, а не за клиентский. Он рулит. Шаблон на сервере, нормальная модель представления и всё такое.
Я никак не могу понять, про какие шаблоны вы говорите? Вот мой код представления. Там менюшка слева и место для статьи о товаре справа. Скриптик, который асинхронно запрашивает статью о товаре и начатки "шаблона статьи". В скрипт я пока поставил заглушку в виде алерта.

Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
@model IList<TreeViewNodeModel>
@{
    ViewBag.Title = "Товары";
}

<div class="leftMenuContainer">
    <h2>Список товаров по группам</h2>
    <ul id="groupTree">
        @CustomHTMLHelpers.TreeView(Model)
    </ul>
</div>

<div class="centralContainer">
    <h2>Товар</h2>
</div>

<script type="text/javascript">
    $(document).ready(function ()
    {
        $('#groupTree').treeview({ collapsed: true });

        $(".treeViewLeaf.goods-tree-view-node").click(function ()
        {
            $.ajax(
                {
                    url: "@Url.Action("Goods", "GoodsClassification")",
                    data: { goodsId: $(this).attr("id") },
                    type: "GET",
                    success: function (data)
                    {
                        alert(data.Name);
                    }
                });
        });
    });
</script>

@* Шаблон статьи. *@
<div id="goodsArticleTemplate" style="display: none">
    <div id="mainCharacteristic">
        <h1>
            Основная характеристика
        </h1>
        <p class="goodsPropertyCaption">
            Название товара
        </p>
        <p class="goodsPropertyValue">
						Бла-бла...
        </p>
    </div>
</div>

...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455987
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttShSergeА что такое "Vanilla"?


Чё ржошь? Все знают, а я - нихрена не знаю. :)
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455988
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeЧё ржошь? Все знают, а я - нихрена не знаю. :)

http://habrahabr.ru/post/150594/
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455992
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+1 за knockout.js, если уж хочется клиентский шаблон
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455993
Boneshock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320 Это?

Ну как тебе больше нравится. Плагин-то один , а уж где ты его будешь юзать(мвц, формы) - сам решай
ShSergeА что такое "Vanilla"?
Вот . Уверен, Серж, ты будешь рад, прочитав.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455995
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt,

А-а-а! Понял. Фреймворк. Но для сабжа вообще никаких фпеймворков и нафиг не нужно.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38455998
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergeА-а-а! Понял. Фреймворк. Но для сабжа вообще никаких фпеймворков и нафиг не нужно.



похоже до сих пор не понял

прочитай по ссылке до конца, а лучше зацени комментарии
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456000
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Я никак не могу понять, про какие шаблоны вы говорите?
Я тебе уже писал, шаблон хранится на сервере. Для работы ему нужна модель. Его рендерить нужно на сервере. Если нужно с клиента поднять шаблон, для этого есть $.ajax. Что не понятно-то?
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456002
Boneshock
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ShSergehVostt,

А-а-а! Понял. Фреймворк.
кажется все еще не понял
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456014
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кто-нибудь ставил и использовал ASP.NET and Web Tools 2012.2 ?
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456022
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAА кто-нибудь ставил и использовал ASP.NET and Web Tools 2012.2 ?

да.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456044
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BoneshockShSergehVostt,

А-а-а! Понял. Фреймворк.
кажется все еще не понял
not-enough-jquery.jpg

...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456057
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAА кто-нибудь ставил и использовал ASP.NET and Web Tools 2012.2 ?

да.Ну и как? Полезно?
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456071
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А создание дерева с событиями на чистом JS есть, а не в виде плагина к jQuery?
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456088
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320А создание дерева с событиями на чистом JS есть, а не в виде плагина к jQuery?

есть :) но при такой постановке задачи, больше добавить нечего. попробуйте knockout.js, если не понравится, других аналогов целое ведро
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456092
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAНу и как? Полезно?

ещё бы.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456107
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt, а Single Page Application (SPA) template использовал?
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456110
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAhVostt, а Single Page Application (SPA) template использовал?

использовал. но честно говоря, это всего лишь некий паттерн. принципиально со стороны сервера ничем не отличается от обычного приложения.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456131
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAhVostt, а Single Page Application (SPA) template использовал?

использовал. но честно говоря, это всего лишь некий паттерн. принципиально со стороны сервера ничем не отличается от обычного приложения.ТСу данный шаблон может помочь?
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456138
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТСу данный шаблон может помочь?

вряд ли. по ходу что он хочет, так это некий волшебный "компонент", который сделает всё сам как надо, и при этом не надо разбираться как это всё в итоге работает ))
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456155
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAТСу данный шаблон может помочь?

вряд ли. по ходу что он хочет, так это некий волшебный "компонент", который сделает всё сам как надо, и при этом не надо разбираться как это всё в итоге работает ))То есть даже сгенерированный по шаблону код, ему не поможет понять, что и как писать?
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456176
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAТо есть даже сгенерированный по шаблону код, ему не поможет понять, что и как писать?

там даже деревьев нету, о чем вообще говорить?
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456264
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVosttskyANAТСу данный шаблон может помочь?

по ходу что он хочет, так это некий волшебный "компонент", который сделает всё сам как надо, и при этом не надо разбираться как это всё в итоге работает ))
Да, я не хочу разбираться, как оно там всё работает. Я хочу указать на ul, и чтобы мне из него сделали интерактивное дерево. И чтобы клики были и асинхронная загрузка. Я вообще не люблю джаваскрипт.
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456289
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320,
не тормози, покупай
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38456293
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не тормози, покупай
Кендо ЮАЙ!

TreeView / Binding to remote data
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38462346
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вобщем, всё получилось с использованием простенькой jquery.treeview (с jstree хрен разберёшься - ковырял-ковырял, да невыковырял) и Нокаута.

Только вопрос остался. Вот у меня функция вызывается на каждый клик по ссылке и на каждый такой клик отправляется JSON, который и приходит в виде data в эту функцию. Но при первой загрузке страницы у меня собственно нет модели представления, т. к. я использую автомаппинг (плагин mapping для Нокаута) и эту модель мне этот маппинг создаёт. Как лучше обработать эту ситуацию - ведь после первого запроса модель уже создана и её можно использовать и дальше. Мне для этого пришлось ввести переменную firstQuery, нужную для создания модели при первом запросе. На последующих запросах я только перебайндингую свойства модели.

Второй вопрос. Вызывать каждый раз applyBindings надо, т. к. mapping.fromJS каждый раз возвращает новый объект. Чтобы вызывать эту функцию только один раз (т. е. затолкать её в блок if (firstQuery == true) ), надо самому ручками создать обычную модель представления и ручками же каждый раз обновлять её свойства: http://stackoverflow.com/a/15385398/808128 . Ну, а поскольку я уж использую автомаппинг, то вот - на каждый запрос applyBindings. Может, можно как-то разрулить эту ситуацию, чтобы и руками модель не создавать, и applyBindings на каждый запрос не вызывать?

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<script type="text/javascript">
    function (data)
    {
        if (firstQuery == true)
        {
            viewModel = ko.mapping.fromJS(data);
            firstQuery = false;
        }

        ko.mapping.fromJS(data, viewModel);
        ko.applyBindings(viewModel, document.getElementById("article"));
    }

    var firstQuery = true;
    var viewModel;
</script>



По второму вопросу пока придумал только при создании страницы отправить сразу асинхронный запрос на сервер и вызвать mapping.fromJS(data), а затем applyBindings - т. е. ещё до первого пользовательского ввода - тем самым создать модель представления с привязками, которую уже затем использовать на каждый запрос пользователя с перегрузкой mapping.fromJS(data, viewModel). Как вам такое решение?
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38463310
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Решил остановиться на глобальной переменной. Всякие пустые модели для начальной инициализации создавать и передавать - лишние усилия. Только правильный код будет не тот, что выше, а вот такой. Интересно, что если firstQuery = false; поставить не перед вызовом applyBindings, а после, то до него выполнение даже не дойдёт - (проверил в дебаггере браузерном). Интересно, почему?

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<script type="text/javascript">
    function (data)
    {
        if (firstQuery)
        {
	    firstQuery = false;
            viewModel = ko.mapping.fromJS(data);
	    ko.applyBindings(viewModel, document.getElementById("article"));
        }

        ko.mapping.fromJS(data, viewModel);        
    }

    var firstQuery = true;
    var viewModel;
</script>
...
Рейтинг: 0 / 0
JSON to HTML - лучший способ?
    #38463314
user7320
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
user7320Интересно, что если firstQuery = false; поставить не перед вызовом applyBindings, а после, то до него выполнение даже не дойдёт - (проверил в дебаггере браузерном). Интересно, почему?
Имеется ввиду, что не дойдёт до firstQuery = false;
...
Рейтинг: 0 / 0
51 сообщений из 51, показаны все 3 страниц
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / JSON to HTML - лучший способ?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]