WN

WN (https://www.wn.se/forum/index.php)
-   Serversidans teknologier (https://www.wn.se/forum/forumdisplay.php?f=4)
-   -   Ladda in UserControl med HtmlForm med jQuery (https://www.wn.se/forum/showthread.php?t=37507)

pbf 2009-06-23 07:34

Ahaa, det är därför eventen inte körs! Tack för den!

Jag har 12 flikar, i vissa flikar finns t.o.m. "underflikar" och i varje flik finns en UserControl med serverkontroller, betyder detta att jag måste ladda in samtliga serverkontroller dynamiskt och placera där jag vill ha dem för att eventen ska triggas?

digiArt 2009-06-23 11:45

Citat:

Originally posted by pbf@Jun 23 2009, 07:34
Ahaa, det är därför eventen inte körs! Tack för den!

Jag har 12 flikar, i vissa flikar finns t.o.m. "underflikar" och i varje flik finns en UserControl med serverkontroller, betyder detta att jag måste ladda in samtliga serverkontroller dynamiskt och placera där jag vill ha dem för att eventen ska triggas?

Ja.

Jag tycker visserligen att det låter som en designmiss på något sätt eftersom du måste slå knut på dig för att få det att funka.

pbf 2009-06-23 14:10

? Jag laddar in användarkontroller genom en GenericHandler som de flesta gör, men jag använder jQuery() för att hämta och lägga strängen (som är ett skapande av användarkontrollen) i en <div>:

Kod:

    function ChangeTab(userControl) {

      J.ajax({
        type: "GET",
        datatype: 'html',
        url: "GenericHandlers/ProfileMenu.ashx",
        data: "userControl=" + userControl,
        cache: false,
        success: function(content) { J("#" + userControl).html(content); }
      });
    }

    J(document).ready(function() {

      J("#user-profile-menu > ul").tabs();
      J("#user-profile-menu").fadeIn("fast");

      J(".tabOption").click(function() {

        var userControl = J(this).attr('rel');

        ChangeTab(userControl);
      });

    });


digiArt 2009-06-23 18:59

Citat:

Originally posted by pbf@Jun 23 2009, 14:10
... de flesta gör ...
Hmmm, har inte ens sett förslaget att göra så under de åtta år jag knackat .NET mot webb. Undrar vilken sten jag bott under...

pbf 2009-06-23 21:22

Okej. Om vi undviker det och fokuserar på trådens huvudämne (givetvis ingen negativ intention), hur bör jag ladda in användarkontrollen med jQuery men ändå kunna klicka på mina grejer så eventen triggas?

Allt gott, digiArt.

digiArt 2009-06-23 21:46

Citat:

Originally posted by pbf@Jun 23 2009, 21:22
Okej. Om vi undviker det och fokuserar på trådens huvudämne (givetvis ingen negativ intention), hur bör jag ladda in användarkontrollen med jQuery men ändå kunna klicka på mina grejer så eventen triggas?

Allt gott, digiArt.

Det är lugnt... B)

Eftersom jag själv inte gjort något sådant tidigare så har jag tyvärr inte så mycket mer kreativ input att komma med än den jag redan gjort.

Varför inte loopa igenom samtliga kontroller i den mottagande sidan och se om du fångar den control du lagt till via jquery.

Dvs, ngt i stil med:
Kod:

bool found = false;
foreach(Control c in Page.Controls)
{
if(c is [din kontrolltyp])
{
// wohoo, den fanns
found = true;
}
}
if(!found)
{
// rackarns, den fanns inte
}

Jag gissar på att du kommer få "rackarns...". Särskilt som det är grymt knepigt att utröna vad kontrollerna egentligen heter när de är usercontrols (.ascx).

Om du inte hittar den, ja, då blir det till att skapa upp kontrollen vid postback och se till så att eventen kan köras.

Tydligare än så här kan jag inte bli.

Lycka till!

pbf 2009-06-24 09:22

Okej.

Har bestämt mig för att skita i det asynkrona då det helt enkelt inte går, de flesta instämmer där. (att kunna få med eventen osv).

Om jag har en meny med jQuery-tabs, vilket sätt hade du valt för att ladda in användarkontroller (sidan får ladda om)? Vill inte ladda in alla samtidigt utan när man klickar på en så vill jag att den ska laddas in och sedan visas för just den fliken. En flik definieras av "#Guestbook" eller nåt liknande efter Profile.aspx?Id=40

pbf 2009-06-24 10:17

Kravet är förresten att man efter en postback i varje flik ska komma till samma flik, har inte kommit på nåt sätt att göra detta ännu, QueryStrings vill man ju ogärna använda. Att skickas till Profile.aspx?Id=40#Guestbook ser bättre ut om detta är doable?

Onkelborg 2009-06-24 13:58

Måste du posta det? Kan du inte likaväl skicka rubb och stubb via js direkt till servern?


Alla tider är GMT +2. Klockan är nu 04:18.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson