Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   как на клиенте установить ExpandDepth = 1; (https://javascript.ru/forum/dom-window/10889-kak-na-kliente-ustanovit-expanddepth-%3D-1%3B.html)

uhti 27.07.2010 09:39

как на клиенте установить ExpandDepth = 1;
 
Подскажите, как на клиенте установить ExpandDepth = 1;
как на сервере, с#:
TreeView tw = new TreeView();
tw.ID = "treeMenuID";
treeMenuID.ExpandDepth = 1;

x-yuri 27.07.2010 10:54

почему это нельзя сделать на сервере?

uhti 27.07.2010 11:05

На сервере делаю один раз страницу и отправляю ее клиенту,
потом работаю на клиенте. Если с сервером то по
"Page.ClientScript.GetCallbackEventReference". ..
Ну вот сам себе и ответил.. можно в GetCallbackResult() на сервере
сделать treeMenuID.ExpandDepth = 1;

Ну а что, в javascript нельзя тоже самое проделать?
Еще бьюсь, не пойму как на клиенте сделать
treeMenuID.Enabled = false; Что в принципе можно тоже в GetCallbackResult() на сервере проделать.
Но не красиво как-то.

Gvozd 27.07.2010 11:43

uhti,
вот, щаз мы все побежим скачивать # (вместе с неизвестным фреймворком, и либами), ставить его, затем написать эти три строчки кода, и просмотрим километровый сгенерированный им клиентский код, чтобы сказать вам, как им управлять из JS-а

сами смотрите, что там на выходе получается.
а еще, возможно, способ работы с сгенерированным JS-ом, описан в мануале вашего фреймворка

удачи, делайте

uhti 27.07.2010 11:57

Гвоздь.

Да не волнуйтесь так, можно без c# обойтись.

var bt = document.createElement("treeview");
Как у bt установить свойство ExpandDepth = 1; или Enabled = false;

Буду рад, если сможете что-либо по существу.

x-yuri 27.07.2010 11:58

Цитата:

Сообщение от uhti
Ну а что, в javascript нельзя тоже самое проделать?

почитай про ViewState. Можно, только после обновления страницы все вернется в исходное состояние, потому что изменение произошло на клиенте и сервер об этом не узнал. И Client Callbacks как раз нужны, чтобы сервер, узнал об изменениях. Вообще ASP.NET разрабатывался с целью абстрагироваться от работы с сетью. Чтобы не было разницы между написанием десктопных и web-приложений. Практика показала, что не получилось. И начали появляться всякие UpdatePanel, Client Callbacks, а потом и ASP.NET MVC появилось...

x-yuri 27.07.2010 11:59

Цитата:

Сообщение от uhti
Да не волнуйтесь так, можно без c# обойтись

правда? Ну-ка, хочу посмотреть

Kolyaj 27.07.2010 12:06

Цитата:

Сообщение от x-yuri
Вообще ASP.NET разрабатывался с целью абстрагироваться от работы с сетью.

Очень очень очень плохой путь.

Gvozd 27.07.2010 13:54

Цитата:

Сообщение от uhti
Да не волнуйтесь так, можно без c# обойтись.

var bt = document.createElement("treeview");

весьма интересный тэг

x-yuri 27.07.2010 13:55

ну как, зато они могли сказать: "Создавать web-приложения так же просто, как и десктопные, вот смотрите..." Ну и microsoft, имхо, свойственно разрабатывать ПО на пределе мощностей машин пользователей. Или они просто слишком заботятся о пользователях, слишком упрощают одно и, как следствие слишком усложняют другое
p.s. я на самом деле только отчасти в теме, так что могу в чем-то быть не правым


Часовой пояс GMT +3, время: 13:32.