Avatar billede lauge Nybegynder
05. september 2003 - 14:10 Der er 11 kommentarer og
1 løsning

Udskrives - udskrives ikke ?

Hejsa,

Hvis jeg nu laver en Label således:
<asp:Label id="Label1" runat="server">Label</asp:Label>

Bliver resultatet:
<span id="Label1">Label</span>

Så kan jeg smide nogel attributter på så min udskrift bliver således:

<span id="Label1" onComtextMenu="context();return false;">Label</span>

Men hvis jeg så kun nogle gange vil smide min onContextmenu på, hvis brugeren har rettigheder til dette, så ønsker jeg ikke at udskrive mit <span> tag hvis det ikke skal bruges.

Så her kommer spørgsmålet!

Hvordan undgår jeg at et <span> tag bliver udskrevet når det ikke skal bruges?
Således at jeg skriver således i min ASPX fil
<span id="Label1">Label</span>

Og resultatet i de færdige HTML bliver således:
Label

Håber jeg har forklaret mig godt nok.
Måske det slet ikke kan lade sig gøre?

På forhånd taxi!
Lauge
Avatar billede lauge Nybegynder
05. september 2003 - 14:12 #1
tilføjelse...

Jeg ved godt jeg kan bruge Placeholder & Literal som ikke udskrive nogle tags.
Men jeg vil bruge en LAbel!
Avatar billede odegaard Nybegynder
05. september 2003 - 15:23 #2
altså en label bliver til en <span>, og så er det vist ikke mere at sige til det. Du må lave en if/else der enten bruger en literal eller en label.
Avatar billede lauge Nybegynder
05. september 2003 - 16:21 #3
jamen det frygter jeg også, men det kunne være Frameworket var så smart at det kunne finde ud af, at udskrive indholdet men ikke <span>.
Avatar billede burningice Nybegynder
06. september 2003 - 11:55 #4
lauge>> du kan subklasse Label-klassen, og så override enten AddAtributesToRender() eller Render

Det resulterer så i, at du desværre ikke kan skrive <asp:Label> på din aspx-side, men skal være <dit_tag:din_label>
Avatar billede burningice Nybegynder
06. september 2003 - 11:56 #5
lauge>> Klasserne i .Net frameworket er skam smarte... men det er sq svært at tænke på ALT, så det aller smarteste ligger nok i at man kan udvide klasserne til sine egne behov
Avatar billede lauge Nybegynder
06. september 2003 - 12:31 #6
cyberfessor>>nyedelig ide!
Så må jeg lige rode med hvordan faen man gør det :-)
Men nu har jeg da en ide...

Vil du have points så smid et svar der...

Lauge
Avatar billede burningice Nybegynder
06. september 2003 - 12:49 #7
det er nemlig en rigtig nydelig ide :) jeg havde selv noget bøvl med Table-klassen som konsekvent udskrev en collapse:none i <table> tag'et... det skulle den IKKE... og jeg kunne bare ikke finde ud af hvordan man undgik det.

s¨jeg endte med at subklasse Tablen og override RenderBeginTag-metoden så jeg undgik den ekstra style som jeg så bestemt ikke havde bedt om
Avatar billede lauge Nybegynder
06. september 2003 - 12:55 #8
cyberfessor>> har du et link til et sted på nettet med et eksempel på hvordan man gør det du beskriver - eller har du et kode eksempel selv man kan se?
Det vil gøre min weekend lidt nemmere :-)
Avatar billede burningice Nybegynder
06. september 2003 - 12:59 #9
hehe... *ser uskyldig ud* mig... har ikke noget liv... tja.. det kan der være noget om :P

jo, jeg har faktisk en kode... har nemlig lige afprøvet det, og det virker upåklageligt:

Beivs: http://www.burningice.dk/eksperten.dk/397190/

source til aspx-siden:

<%@ Register tagprefix="BurningIce" Namespace="burningice.dk" Assembly="burningice.dk" %>

<BurningIce:MyLabel id="lbl1" RenderTag="false" runat="server" Text="Denne label er uden tag" /> <br />

<BurningIce:MyLabel id="lbl2" runat="server" Text="Denne label er med tag" />

sorce til MyLabel-kontrollen:

using System;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace burningice.dk
{
    /// <summary>
    /// Summary description for MyLabel.
    /// </summary>
    public class MyLabel : System.Web.UI.WebControls.Label
    {
        private bool renderTag = true;

        public MyLabel() : base()
        {
            //
            // TODO: Add constructor logic here
            //
        }

        public bool RenderTag
        {
            set
            {
                renderTag = value;
            }
        }

        public override void RenderBeginTag(HtmlTextWriter writer)
        {
            if (!renderTag)
            {
                return;
            }

            base.RenderBeginTag(writer);           
        }

        public override void RenderEndTag(HtmlTextWriter writer)
        {
            if (!renderTag)
            {
                return;
            }

            base.RenderEndTag(writer);
        }
    }
}
Avatar billede lauge Nybegynder
06. september 2003 - 13:05 #10
fedt - tak!
hva med et svar så du kan få de 60 røde æbler? :]
Avatar billede burningice Nybegynder
06. september 2003 - 13:10 #11
:) det er så også iorden
Avatar billede lauge Nybegynder
06. september 2003 - 13:12 #12
kanin!
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
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

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