ImageButton ASP.NET

0

Powie mi ktoś czemu to nie działa, zdawało by się że wszytko jest ok

 
        protected void Page_Load(object sender, EventArgs e)
        {
            imgbut.Attributes.Add("OnMouseOut","this.jestem()");
            imgbut.Attributes.Add("OnMouseOver", "this.niema()");

        }

         protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
        {
            Response.Write("co kolwiek");
        }

           protected void jestem(object sender, ImageClickEventArgs e)
        {
            Image1.Visible = true;
        }

        protected void niema(object sender, ImageClickEventArgs e)
        {
            Image1.Visible = false;
        }

Chce żeby drugi obrazek znikał gdy najade myszka na Imagebuttona a gdy zjade znowy się pojawił... nie mam pomysłu.

2

Jeszcze śpię, ale wygląda mi na to, że próbujesz do javascriptowego zdarzenia podpiąć bezpośrednio serwerowe metody. Tak to nie zadziała, musisz sobie te funkcje napisać w JS.

0

Tak jak @somekind napisał mieszasz dwa pojęcia. Musisz zrozumieć istotę technologii WWW. Jest strona klienta i strona serwera. Klient to JS, a code behind to kod wykonywany po stronie serwera. this w Twoim kodzie odnosi się to elementu przycisku na stronie (DOM), a nie do obiektu strony (C#)

0

Ciężka sprawa, bo moim zadaniem jest wykonać wszystko po stronei servera, myślałem że nie używam JS. W ogóle da się zrobić coś takigo bez JS ?
Bo już mi się wydaje że zostałem wprowadzony w błąd i próbuje zrobić coś niemożliwego.

0
ituj napisał(a):

Ciężka sprawa, bo moim zadaniem jest wykonać wszystko po stronei servera, myślałem że nie używam JS. W ogóle da się zrobić coś takigo bez JS ?
Bo już mi się wydaje że zostałem wprowadzony w błąd i próbuje zrobić coś niemożliwego.

No nie da się. Skąd niby serwer miałby wiedzieć, gdzie znajduje się kursor myszy w Twojej przeglądarce? :)
Podaj może dokładną treść zadania, bo może coś źle zrozumiałeś, albo faktycznie jest mylące.

0

Przepraszam za tygodniową przerwe ale problem nadal jest aktualny :)

Zadanie polega na zbudowaniu aplikacji wyświetlającej dwa obrazki, wszystkie operacje dotyczą pierwszego obrazka:
-po najechaniu kursorem na pierwszy obrazek zmienia się obrazek 2.
-po kliknięciu lpm na 1. otwiera nową strone z rysunkiem 2.

Interesuje mnie tylko jak przypisać te dwie operacje do jednego ImageButtona z wymaganiami:
Nie można wprowadzać kodu części deklaratywnej dodawać skryptów -Javascript.
Nie mozna wprowadzać skryptów - JavaScript za pomocą klasy Response.
Nie można używać plików -Cookie.

0

Biorąc Twój kod dla przykładu jeżeli chcemy żeby obrazek znikał jak się na niego najedzie:

        protected void Page_Load(object sender, EventArgs e)
        {
            imgbut.Attributes.Add("OnMouseOut","this.style.display='block';");
            imgbut.Attributes.Add("OnMouseOver", "this.style.display='none';");
         }

Nie testowane

Tutaj zobacz odpowiedź. Tam jest kod javascript podmieniający źródło obrazka:
http://stackoverflow.com/questions/116967/img-src-tags-and-javascript

0

Treść operacji jest dla mnie bez znacznia, chce tylko po najechaniu robić co innego a po kliknięciu co innego.

1
ituj napisał(a):

Przepraszam za tygodniową przerwe ale problem nadal jest aktualny :)

Zadanie polega na zbudowaniu aplikacji wyświetlającej dwa obrazki, wszystkie operacje dotyczą pierwszego obrazka:
-po najechaniu kursorem na pierwszy obrazek zmienia się obrazek 2.
-po kliknięciu lpm na 1. otwiera nową strone z rysunkiem 2.

Interesuje mnie tylko jak przypisać te dwie operacje do jednego ImageButtona z wymaganiami:
Nie można wprowadzać kodu części deklaratywnej dodawać skryptów -Javascript.
Nie mozna wprowadzać skryptów - JavaScript za pomocą klasy Response.
Nie można używać plików -Cookie.

Kliknięcie w obrazek można obsłużyć serwerowo, masz dostępne zdarzenie ImageButton.Click, do którego możesz przypisać metodę podmieniającą obrazek w drugim ImageButtonie.
Natomiast nie ma serwerowego zdarzenia najechania kursorem na przycisk, a skoro nie możesz w żaden sposób użyć JavaScriptu, to wedle mojej wiedzy jest to niewykonalne, ja przynajmniej nie mam pojęcia jak to zrobić.

1 użytkowników online, w tym zalogowanych: 0, gości: 1