Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Ska det gå att ta fram ett objekt med getElementByID via dess ClientID som spara

Postades av 2007-01-16 15:34:42 - Jesper Enevold, i forum asp.net generellt, Tråden har 2 Kommentarer och lästs av 801 personer

Har en gridview med en kolumn knappar och en kolumn med image-kontroller. GridView:en ligger i en usercontrol som dynamiskt laddas in på sidan (a.aspx).

Vid tryck på en av knapparna på a.aspx ska en ny sida öppnas (b.aspx) med window.open(...) där det finns två knappar Save & Cancel.
Vid tryck på Save ska bilden i image-kontrollen på sidan a.aspx bytas ut (med hjälp av javascript) utan att sidan laddas om.

Mina funderingar är:
För att kunna byta ut bilden på image-kontrollen (imgStatus) i gridview:en måste veta vilken image-kontroll det rör sig om. Det kan jag lägga till (No-)knappen ungefär så här...

<code>
btnNo.OnClientClick = "setImgStatusClientID('" + imgStatus.ClientID.ToString() + "'); return false;";
</code>

Eftersom jag inte i första läget kan ändra bilden (vid tex klick på knappen) på a.aspx sparar jag undan värdet för imgStatus.ClientID.ToString() till ett hiddenfield för att sedan kunna ta fram objektet och sätta bilden.

När det är dax att ändra bilden läser jag tillbaka värdet från hiddenfield och sedan tänkte jag få tag på objektet imgStatus genom document.getElementByID(hiddenfield.value); Där hiddenfield = det id som image-kontrollen har, tex ctl02_GridView1_ctl08_imgStatus som jag tidigare sparade undan i hiddenField-kontrollen.

Som sagt så får jag inte tag på något imgStatus-objekt...

Ska det här gå att göra?

Eller kan det finnas ett bättre sätt att "spara undan" vilken imgStatus-kontroll det gäller för att sedan få tag på kontrollen (objektet) för att tilldela den en annan bild...

/Jesper


Svara

Sv: Ska det gå att ta fram ett objekt med getElementByID via dess ClientID som s

Postades av 2007-01-18 09:36:07 - Pelle Johansson

Spontant tänkte jag nu att kolla vad filnamnet är på kontrollen. Antingen är den checked eller deleted eller liknande, det namnet gif-bilden har kan du således nyttja för att veta vad som "gäller".


Svara

Sv: Ska det gå att ta fram ett objekt med getElementByID via dess ClientID som s

Postades av 2007-01-18 10:46:10 - Jesper Enevold

Hittade en lösning.
För att komma åt asp:image objektet/kontrollen och ändra bilden hämtar jag först objektet 'hfImgStatusClientID' - se funktionen gethfImgStatusClientID_Object() som är det hidden field där ClientId för asp:image sparats sedan tidigare, (detta är den image-kontroll som ligger på samma rad i gridview:en som knappen man klickar på)
och returnerar referensen tillbaka till funktionen getImageControlID()
där jag sedan läser ut ClientID-värdet för asp:image controllen.

Hämtar och returnerar referensen till image-kontrollen med

     imgStatusID = document.getElementById(imgStatusValue); 
     }
  return imgStatusID;

till funktionen ChangeStatusImage() där bilden ändras med imgStatusID.src='./Images/error.gif';

En orsak till att det inte fungerade var stavningen av bildens source var scr och inte src som ovan...

Så inga konstigheter alltså... det är bara använda getElementById och clientID som parameter.

/Jesper

Koden:

//Ändra bilden i GridView:en
        function ChangeStatusImage()
        {
            var imgStatusID = getImageControlID();
            if(imgStatusID != null)
            {      
                //Byt bild!
                imgStatusID.src='./Images/error.gif';
            }
        }
        
        //Hämta referensen till objektet imgStatus var värde sparades i hidden field...
        function getImageControlID()
        {
            
            var elementhfImgStatusClientID = gethfImgStatusClientID_Object();
            
            var imgStatusValue;
            var imgStatusID;
            
            if(elementhfImgStatusClientID != null)
            {
                //Hämta ut sparade värdet för kontrollen
                imgStatusValue = elementhfImgStatusClientID.value;
                if(imgStatusValue != null)
                {
                    //Hämta referensen till objektet
                    imgStatusID = document.getElementById(imgStatusValue);
                }
            }
            return imgStatusID;
        }

        function gethfImgStatusClientID_Object()
        {
            return document.getElementById('hfImgStatusClientID');
        }


Svara

Nyligen

  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo
  • 14:25 Tips på verktyg för att skapa QR-k
  • 14:23 Tips på verktyg för att skapa QR-k
  • 20:52 Fungerer innskuddsbonuser egentlig

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 569 602
27 953
271 705
6 065
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies