Avatar billede per2edb Praktikant
07. november 2010 - 15:27 Der er 11 kommentarer

Menu "blinker" på undersider når de aktiveres fra Main

Jeg har en main master side med menuer der kalder undersider.
main master har nogle fælles tekster for alle sider.
Main menuen kalder undersiderne via en Ajax funktion

Main:
<body>   
<form id="serverForm" runat="server">
<div id="Vandret_Menu"></div>
<div id="ajaxbody">
<asp:ContentPlaceHolder ID="ContentBody" runat="server"></asp:ContentPlaceHolder>
</div> 
</form>
</body>

Underside:

<%@ Page Language="VB" masterpagefile="main.master" title="underside" %>
<asp:Content id="VandretMenu" runat="server" contentplaceholderid="ContentBody"></asp:Content>

<asp:Content id="Content1" runat="server" contentplaceholderid="ContentPlaceHolder1">

Når jeg trykker på menuen genkaldes menuen og der opstår et blink.
Jeg ville mene Menuen var gennemgående fast (Ligesom ved frame)og ikke skulle "blinke"
Kan jeg gøre noget for menuen ikke "blinker" ?

Har i erfaring med ASP.NET 4 ´s standard main control.
Giver den genkald til hele Main siden eller kun undersiden?
Avatar billede keysersoze Guru
07. november 2010 - 17:56 #1
hvis du lægger AJAX/jQuery funktionalitet på en side kan du ikke forvente standard-opførsel fra .NET kontroller - men menu-kontrollen i ASP.NET vil som udgangspunkt forårsage et sideskift, og dermed blinke, eller gå til et bookmark. Den vil som standard altså ikke opføre sig som ved frames.

Hvis den blinker kunne noget derfor tyde på, at der enten sker et sideskift (hvilket du kun kan undgå ved at benytte frames eller altså AJAX) eller at den er en del af det din AJAX-funktion udskifter ved klik.
Avatar billede bkp Nybegynder
07. november 2010 - 19:13 #2
Bare lige for at være sikker; har du husket at returnere false i dit script som loader undersiden?
$('#ajaxbody').load(link + ' #ajaxbody');
return false;


Dette fortæller browseren at du har taget hånd om det der skal ske, og at den ikke skal gøre yderligere.

Jeg er ikke helt klar over hvad DHTMLSuite gør når den kører et scriptet, jeg ved ikke om det måske kunne være her der sker noget.

Ellers kan det være problemer med (som keysersoze nævner) at det er .Net kontroller der fyrer events af som jo kræver en reload af siden.
Avatar billede per2edb Praktikant
07. november 2010 - 23:33 #3
1)
return false er medtaget.
Kan disse controller på main siden lægges på en anden måde/sted?
2)
Har i erfaring med ASP.NET 4 ´s standard main control.
Giver den genkald til hele Main siden eller kun undersiden?
Avatar billede bkp Nybegynder
08. november 2010 - 09:16 #4
Har du Firefox + firebug, så kan du debugge dig igennem hvad der sker når du trykker på linket, jeg kender ikke DHTMLSuite ret godt, men jeg ville tjekke om det er den der både kører jFunction og refresher siden, da jeg har testet dit setup på en side uden DHTMLSuite og her havde jeg ingen problemer, og det var med .Net kontroller.

http://getfirebug.com/javascript

Jeg kunne godt tænke mig at se hvordan DHTMLSuite bygger din menu, altså hvordan ser din menubar ud i Firebug?
Avatar billede bkp Nybegynder
08. november 2010 - 09:20 #5
Se her hvordan du tjekker den html kode som DHTMLSuite danner:

http://getfirebug.com/html

Prøv at hive den dannede menu ud og skriv den her ;-)
Avatar billede keysersoze Guru
08. november 2010 - 10:12 #6
Hvad er en Main control? Som nævnt i 1# vil alt i .NET som standard lave et postback eller sideskift hvormed hele din side reloades - dette vil du kun kunne undgå ved at implementere AJAX og er din AJAX implementeret korrekt vil du kun opleve "blink" på de områder af din side som du opdaterer.

Hvis du er bange for hvad .NET kontrollerne gør og ikke gør så undlad helt at bruge dem og opbyg din egen kode så du får helt og aldeles kontrol over hvad du gør. Kontrollerne i .NET gør uden tvivl livet lettere i mange situationer, men i enkelte tilfælde kan de også være direkte ubrugelige.
Avatar billede per2edb Praktikant
14. november 2010 - 15:40 #7
jeg er syg i disse dage så jeg vender først tilbage i næste uge.
Microsoft Expresion web 4 har en Menu kontrol. Som jeg forstår jer vi den heller ikke kunne undgå et blink - right?
Avatar billede keysersoze Guru
14. november 2010 - 17:24 #8
som udgangspunkt nej - men som nævnt før er det lige så høj grad hvordan man benytter kontrollen end kontrollen selv der bestemmer opførslen.
Avatar billede per2edb Praktikant
16. februar 2011 - 15:24 #9
Tak for hjælpen
Avatar billede per2edb Praktikant
16. februar 2011 - 15:25 #10
Vil du lave det så du kan få point
Avatar billede keysersoze Guru
16. februar 2011 - 22:07 #11
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester