NOVINKA! E-learningové kurzy umělé inteligence. Nyní AI za nejlepší ceny. Zjisti více:
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: více usercontrolů s javascriptem na stránce (ASP.NET)

V předchozím kvízu, Test znalostí C# .NET online, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
Ghst
Člen
Avatar
Ghst:3.3.2016 20:50

Ahoj,
vytvořil jsem jednoduchou komponentu obsahující javascript, při jejím vícenásobném použití na stránce vzniká problém: při kliknutí na první komponentu se JS zopakuje tolikrát, kolik je komponent.

vytvořil jsem jednoduchý user-control, pro představu například obsahuje:

//html definice v komponentě
<div ID="MyDiv"  width="700" height="400" style="border:1px solid #000000; width:200px; height:200px;"></div>

//JavaScript
        $("#MyDiv").click(function () {
            alert("kuk");
        });

//definice v aspx stránce
<uc1:UserComponentTest ID="MyUc1" runat="server"  />

 <uc1:UserComponentTest ID="MyUc1" runat="server" />

//při kliknutí na první komponentu javascript udělá 2x kuk
//při kliknutí na druhou komponentu se nic nestane
 
Odpovědět
3.3.2016 20:50
Avatar
Odpovídá na Ghst
Michal Štěpánek:3.3.2016 21:52

Podle mě by neměly na jedné stránce být dvě komponenty se stejným ID...

Nahoru Odpovědět
3.3.2016 21:52
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Ghst
Člen
Avatar
Ghst:4.3.2016 8:48

To jsem zle specifikoval, nechtěl jsem to psát celé, místo ID si představ class

<div class="area" name="MyDiv" runat="server" width="700" height="400" style="border:1px solid #000000; width:200px; height:200px;"></div>

//JavaScript
        $(".area").click(function () {
            alert("kuk");
        });

Problém je v tom, že asi každá komponenta obsahuje javascript, který je pak ve výsledné stránce několikrát...

Editováno 4.3.2016 8:48
 
Nahoru Odpovědět
4.3.2016 8:48
Avatar
Lako
Člen
Avatar
Odpovídá na Ghst
Lako:4.3.2016 9:06

S problémem ti to nepomůže, ale v rámci své křížové výpravy proti používání zastaralých technologií to stejnak povím:
Webformy jsou mrtvé a Microsoft je do budoucna rozvíjet nebude.

 
Nahoru Odpovědět
4.3.2016 9:06
Avatar
Ghst
Člen
Avatar
Ghst:4.3.2016 9:41

No já volbu nemám ;)

Nicméně ucs nelze tvořit a používat s MVC ?

 
Nahoru Odpovědět
4.3.2016 9:41
Avatar
Lako
Člen
Avatar
Odpovídá na Ghst
Lako:4.3.2016 9:46

Jasně no, to je pochopitelné a nezáviděníhodné..
Jestli tím myslíš vlastní komponenty, tak ne stejným způsobem jako ve webformech, ale vždycky řešení existuje.

 
Nahoru Odpovědět
4.3.2016 9:46
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.