powered by simpleCommunicator - 2.0.41     © 2025 Programmizd 02
Форумы / SharePoint [игнор отключен] [закрыт для гостей] / update panel и treeview
1 сообщений из 1, страница 1 из 1
update panel и treeview
    #37889246
mme
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mme
Гость
Всем доброго времени.
Возникла проблема, рисую на веб-части treeview, оборачиваю её в updatepanel. Клик по листу дерева или попытка развернуть ветку даёт ругань со стороны IE наподобие
строка 1 символ 1 предполагается наличие объекта


вот код:
Код: 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.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
        protected override void CreateChildControls()
        {
            
            base.CreateChildControls();
            EnsurePanelFix();
            UpdatePanel refreshPanel = new UpdatePanel();
            ScriptManager scriptHandler = new ScriptManager();
            
            scriptHandler.ID = "scriptHandler";
            refreshPanel.ID = "refreshPanel";
            refreshPanel.UpdateMode = UpdatePanelUpdateMode.Conditional;
            refreshPanel.ChildrenAsTriggers = true;


            TreeView tree = new TreeView();
            tree.ID = "tree";
            tree.ShowLines = true;
            string q = "строка подключения";
            sqlConn = new SqlConnection(q);
            sqlConn.Open();
            string root = "select * from tree where id_par=0";
            using (SqlCommand sqlCommand = new SqlCommand(root,sqlConn))
            using (SqlDataReader reader = sqlCommand.ExecuteReader())
            {
                while (reader.Read())
                {
                    TreeNode rootNode = new TreeNode();
                    rootNode.Text = reader.GetString(2);
                    rootNode.Value = reader.GetInt64(0).ToString();
                    tree.Nodes.Add(rootNode);
                    treeBuild(rootNode);
                }
            }
            sqlConn.Close();
            refreshPanel.ContentTemplateContainer.Controls.Add(tree);
            this.Controls.Add(scriptHandler);
            this.Controls.Add(refreshPanel);
        }
        private void EnsurePanelFix()
        {
            if (this.Page.Form != null)
            {
                            String fixupScript = @"
                 _spBodyOnLoadFunctionNames.push(""_initFormActionAjax"");
                 function _initFormActionAjax()
                 {
                   if (_spEscapedFormAction == document.forms[0].action)
                   {
                     document.forms[0]._initialAction = 
                     document.forms[0].action;
                   }
                 }
                 var RestoreToOriginalFormActionCore = 
                   RestoreToOriginalFormAction;
                 RestoreToOriginalFormAction = function()
                 {
                   if (_spOriginalFormAction != null)
                   {
                     RestoreToOriginalFormActionCore();
                     document.forms[0]._initialAction = 
                     document.forms[0].action;
                   }
                 }";
                            ScriptManager.RegisterStartupScript(this,
                              typeof(objectsTree), "UpdatePanelFixup",
                              fixupScript, true);
            }
        }



sharepoint 2007, studio 2008, .net 3.5
без updatepanel всё работает, но естесственно без аякса. сэмпл с up брал с мсдн
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / SharePoint [игнор отключен] [закрыт для гостей] / update panel и treeview
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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