Модераторы: gambit

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> работа с листбоксом 
:(
    Опции темы
СЭНСЭЙ
Дата 4.12.2006, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



Помогите решить проблемку - ляпаю на вэбформу листбокс, устанавливаю AutoPostBack = true,
создаю процедуру
Код
private void ListBox1_SelectedIndexChanged(object sender, System.EventArgs e)
{
//пусто
}

заполняю листбокс
Запускаю проект, выбираю элемент листбокса а в правом нижнем углу страници - error on Page
В чем может быть причина?

Это сообщение отредактировал(а) Дрон - 4.12.2006, 15:23
PM MAIL   Вверх
Mymik
Дата 4.12.2006, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



СЭНСЭЙ, На ключ доступа посмотри. Он должен быть protected а не private

http://forum.vingrad.ru/topic-66947.html Смотри там, я там выложил тебе пример как все работает.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
СЭНСЭЙ
Дата 4.12.2006, 15:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



балумбу
Код
protected void ListBox1_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            //Session["file"]=ListBox1.SelectedItem.ToString();
            //error.Text="1";//Session["file"].ToString();
        }

все равно нифига

а ничего что у тебя в примере дропдаунлист а у менялистбокс?

Дропдаун у меня у самого работает без проблем.... 


Это сообщение отредактировал(а) Дрон - 4.12.2006, 15:23
PM MAIL   Вверх
Mymik
Дата 4.12.2006, 15:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Код

<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <asp:ListBox ID="lbTest" AutoPostBack="true" OnSelectedIndexChanged="lbTest_SelectedIndexChanged" runat="server">
            <asp:ListItem Text="first" Value="1" />
            <asp:ListItem Text="second" Value="2" />
            <asp:ListItem Text="third" Value="3" />
        </asp:ListBox>
        
        <asp:Label ID="lblTest" Visible="false" runat="server" />
    </div>
    </form>
</body>
</html>



Код

using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page 
{
    protected void Page_Load(object sender, EventArgs e)
    {
        
    }

    protected void lbTest_SelectedIndexChanged(object sender, EventArgs e)
    {
        lblTest.Text = lbTest.SelectedValue;
        lblTest.Visible = true;
    }

}




--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
Дрон
Дата 4.12.2006, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 2
Всего: 93



Модератор: СЭНСЭЙ, пользуйтесь кнопкой код. Так читать приятней.

Цитата(СЭНСЭЙ @  4.12.2006,  14:34 Найти цитируемый пост)
а в правом нижнем углу страници - error on Page

А что за ошибка можно узнать?

Цитата(СЭНСЭЙ @  4.12.2006,  15:17 Найти цитируемый пост)
а ничего что у тебя в примере дропдаунлист а у менялистбокс?
По идее между ними особой разницы быть не должно.



Это сообщение отредактировал(а) Дрон - 4.12.2006, 15:25


--------------------
Да. Именно так.
PM   Вверх
Mymik
Дата 4.12.2006, 15:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



А ты непробовал проверять, существует ли у тебя Session["file"] ??? Ты ПРОЧИТАЙ ОШИБКУ !!!

Добавлено @ 15:27 
Цитата(Дрон @  4.12.2006,  15:25 Найти цитируемый пост)
По идее между ними особой разницы быть не должно.

той разницы о которой он говорит, тут нет. Оба web-контрола имеют свойство OnSelectedIndexChanged, AutoPostBack, и метод SelectedIndexChanged принимают одинаковые параметры.


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
СЭНСЭЙ
Дата 4.12.2006, 15:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



как прочитать ошибку?????
PM MAIL   Вверх
Mymik
Дата 4.12.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



для начала, в web.Config попробуй строку  <compilation debug="false" /> заменить на <compilation debug="true" /> тогда у тебя на компе будет отображатся ошибки. И всегда добавляй в своий asp.net проект файл Web.Config


Это сообщение отредактировал(а) Mymik - 4.12.2006, 15:44


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
СЭНСЭЙ
Дата 4.12.2006, 15:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



стоит true там по умолчанию
PM MAIL   Вверх
Mymik
Дата 4.12.2006, 16:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



эх :о) промахнулся... :о)
вот что надо вставить  <customErrors mode="Off"/>

Добавлено @ 16:12 
А вообще, там должно быть написано. что надо сделать, чтобы увидеть ошибки... что-то типа 
Details: To enable the details of this specific error message to be viewable on the local server machine, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "RemoteOnly". To enable the details to be viewable on remote machines, please set "mode" to "Off".

Это сообщение отредактировал(а) Mymik - 4.12.2006, 16:12


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
СЭНСЭЙ
Дата 4.12.2006, 16:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



по ходу ошибка не с листбоксом а поглобальней потому что дропдаун лист тоже не фурычит.
Сейчас сравню с проектом , который мне по наследству достался там все это работает - посмотрю настройки дебугера....
PM MAIL   Вверх
Дрон
Дата 4.12.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Java-ненавистник :)
****


Профиль
Группа: Участник Клуба
Сообщений: 3179
Регистрация: 29.12.2002
Где: Санкт-Петербург

Репутация: 2
Всего: 93



Цитата(СЭНСЭЙ @  4.12.2006,  16:16 Найти цитируемый пост)
по ходу ошибка не с листбоксом а поглобальней потому что дропдаун лист тоже не фурычит.

Вообще-то есть мысль, что это ошибка javascript. 
Правда в этом случае надпись "Error on page" обычно появляется в левом нижнем углу (в Internet Explorer) и детали о ней можно узнать двойным щелчком по иконке с восклицательным знаком там же.


--------------------
Да. Именно так.
PM   Вверх
Mymik
Дата 4.12.2006, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



 smile  smile а если ошибка в JS тогда он прекращает свою работы насовсем :о) пока не перегрузишь страницу и код не поправят... во блин... а я то думал ошибка в asp.net коде и совсем не обратил внимание на то что там ошибка "Error On Page"  smile 

P.S.  smile  но смешно до немогу !!!


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
СЭНСЭЙ
Дата 4.12.2006, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



вот:
Line - 26
Char - 23
Error - Identifier Expected
Code - 0 
ССылка на aspx код содержащий ошибку

вот он (часть кода)

<asp:label id="Label5" style="Z-INDEX: 111; LEFT: 40px; POSITION: absolute; TOP: 8px" runat="server"
                        Width="720px" Height="16px" ForeColor="Blue" Font-Size="Large">Загрузка картинки из файла</asp:label>

(26 и 27 строки)

а при наажтии на элемент листбокса:

Line - 54
Char - 1
Error - Object Expected
Code - 0 
ССылка на aspx код содержащий ошибку

<DIV style="DISPLAY: inline; Z-INDEX: 107; LEFT: 290px; WIDTH: 472px; POSITION: absolute; TOP: 612px; HEIGHT: 16px"
                        align="right" ms_positioning="FlowLayout"><asp:label id="Result" runat="server"></asp:label></DIV>

(53 и 54) строки

Добавлено @ 16:45 
убираю эти строки и соответствующие им элемент - он ругается на другие...
PM MAIL   Вверх
Mymik
Дата 4.12.2006, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



СЭНСЭЙ, У Web-контрола Lable да и у любого другого никогда в жизни небыло свойства style :о)  smile у него есть CssClass либо тебе надо будет в behind коде прописать Style.Value = ""; и там свой код. тобишь для Label5 это выглядит так -->> Label5.Style.Value = "...bla-bla..."; Естественно в ковычках свой текст надо написать. такая же трабла и с DIV. Уберешь эти значения все пойдет :о). Следующие ошибки, если они не идентичны, тогда в студию :о)  smile 


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
6atoh
Дата 4.12.2006, 22:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 15.9.2006
Где: Minsk

Репутация: 1
Всего: 4



Цитата(Mymik @  4.12.2006,  16:29 Найти цитируемый пост)
 У Web-контрола Lable да и у любого другого никогда в жизни небыло свойства style

Неправда....как для WebControls так и для HtmlControls можно задавать стайл прямо внутри тега

ИМХО трабла где-то в behind коде....его собственно в студию smile 

Это сообщение отредактировал(а) 6atoh - 4.12.2006, 22:57
PM MAIL ICQ   Вверх
СЭНСЭЙ
Дата 5.12.2006, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



Доброе утро всем.
Да действительо проблемва была в этом.
Но появилась новая.
У меня листбокс, в нем считаные с директории имена файлов.
Хочу что бы при выборее элемента в листбоксе он запоминался в сессии:


Код

Session["file"]=ListBox1.SelectedValue.ToString();
error.Text=Session["file"].ToString();


но при нажатии  на элемент отрабатывается процедура, но значение ключа file остается "" - пустым

прилагаю код:
Код

private void Page_Load(object sender, System.EventArgs e)
        {
            // Put user code to initialize the page here
            int key=0;
            if(Session.Count>0)
            {
                for(int i=0;i<Session.Count;i++)
                {
                    if(Session.Keys.Get(i)=="file"){key=1;}
                }
            }
            if(key==0){Session.Add("file","");}
            
            if(!IsPostBack)
            {
                
                DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
                
            }
            filllist();
            error.Text=Server.MapPath(@"share\");
        }

        #region Web Form Designer generated code
        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: This call is required by the ASP.NET Web Form Designer.
            //
            InitializeComponent();
            base.OnInit(e);
        }
        
        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {    
            this.ListBox1.SelectedIndexChanged += new System.EventHandler(this.ListBox1_SelectedIndexChanged);
            this.Button4.Click += new System.EventHandler(this.Button4_Click);
            this.Button1.Click += new System.EventHandler(this.Button1_Click);
            this.Load += new System.EventHandler(this.Page_Load);

        }
        #endregion

        private void Button1_Click(object sender, System.EventArgs e)
        {
            string filename;
            int er1=0,er2=0;
            if(Post.PostedFile.FileName.Length>0)
            {
                if(Post.PostedFile.FileName.Split('.').Length>2){error.Text="не используйте в имени файла знак '.'";er1=1;}
                else
                {
                    string path="";
                    int files,pathlevel;
                    filename = Path.GetFileName(Post.PostedFile.FileName);
                    path=Server.MapPath(@"share\");
                    files=Directory.GetFiles(path,"*").Length;
                    pathlevel=Directory.GetFiles(path,"*")[0].Replace(@"\","/").Split('/').Length;
                    for(int i=0;i<files;i++){if(filename==Directory.GetFiles(path,"*")[i].Replace(@"\","/").Split('/')[pathlevel-1]){er1=1;};}
                    if(er1==0)
                    {
                        Post.PostedFile.SaveAs(path+filename);
                        error.Text="файл успешно залит на шару";
                    }
                    else{error.Text="файл с таким именем уже существует в шаре";}
                    error.Text=filename+er1.ToString();
                }

            }
            else{error.Text="не выбран файл";}
            filllist();
        }
        private void filllist()
        {
            ListBox1.Items.Clear();
            string path="";
            int files,pathlevel;
            path=Server.MapPath(@"share\");
            files=Directory.GetFiles(path,"*").Length;
            pathlevel=Directory.GetFiles(path,"*")[0].Replace(@"\","/").Split('/').Length;
            for(int i=0;i<files;i++){ListBox1.Items.Add(Directory.GetFiles(path,"*")[i].Replace(@"\","/").Split('/')[pathlevel-1]);}
        }

        private void Button4_Click(object sender, System.EventArgs e)
        {
            
            Session["file"]=ListBox1.SelectedValue.ToString();    
            if(Session["file"].ToString().Length>0){error.Text="OK";Response.Redirect(Server.MapPath(@"share\")+Session["file"].ToString(),false);}
            else{error.Text="не выбран файл";}
            
        }

        private void ListBox1_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            Session["file"]=ListBox1.SelectedValue.ToString();
            error.Text=Session["file"].ToString();
        }


Добавлено @ 12:11 
Цитата(6atoh @ 4.12.2006,  22:46)
Цитата(Mymik @  4.12.2006,  16:29 Найти цитируемый пост)
 У Web-контрола Lable да и у любого другого никогда в жизни небыло свойства style

Неправда....как для WebControls так и для HtmlControls можно задавать стайл прямо внутри тега

ИМХО трабла где-то в behind коде....его собственно в студию smile

не заметил сразу твоего ответа.
Кодя я уже стер и просто объекты создал без стилей.Так что проблема была в нем - ты прав но я пока решил стиль сделать после функционала
PM MAIL   Вверх
СЭНСЭЙ
Дата 5.12.2006, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 432
Регистрация: 20.3.2006

Репутация: нет
Всего: нет



вот это я даю - сам вставил  filllist(); в которой Листбокс переколбашиввается.Переместил  filllist();
 в "Не постбэк" и все стало работать ))))

PM MAIL   Вверх
Mymik
Дата 6.12.2006, 12:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1474
Регистрация: 12.5.2006
Где: Lamer-центер

Репутация: 50
Всего: 78



Цитата(6atoh @  4.12.2006,  22:46 Найти цитируемый пост)
Неправда....как для WebControls так и для HtmlControls можно задавать стайл прямо внутри тега

Покажи пример ??? я такого не знаю... или ты имел ввижу CssClass ??? Но ведь CssClass не есть чистый CSS :о) а он там задавал сырой код CSS... 
Вобщем покажи пример, я чес слово не знаю... Правда у некоторых web-controls есть свойства который задают в последствии style... но это у сложных web-controls типа GridView или еще такого чего-нибудь :о) а не такие простые как HtmlControls


--------------------
ICQ ::            857-857
E-mail ::         mymik[at]inbox[dot]ru 
HomaPage ::  http://localhost/

:to_become_senile  :this
PM MAIL WWW ICQ   Вверх
6atoh
Дата 7.12.2006, 01:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 160
Регистрация: 15.9.2006
Где: Minsk

Репутация: 1
Всего: 4



Цитата(Mymik @  6.12.2006,  11:19 Найти цитируемый пост)
Покажи пример ??? я такого не знаю... или ты имел ввижу CssClass ??? Но ведь CssClass не есть чистый CSS :о) а он там задавал сырой код CSS... 

Перетащи на форму любой контрол из тулбокса и посмотри какой код сгенерируется для него в .aspx-файле. Там будет аттрибут style наподобие
Код

style="Z-INDEX: 102; LEFT: 240px; POSITION: absolute; TOP: 136px"

Вот тебе и пример smile 

З.ы Если что-то не показывает intelliSense, то не значит что этого не существует smile 

Это сообщение отредактировал(а) 6atoh - 7.12.2006, 01:10
PM MAIL ICQ   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.1283 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.