abonnement Unibet Coolblue Bitvavo
pi_82248797
Ik maak regelmatig op mijn werk formulieren waaruit emails verstuurd worden met de ingevulde informatie.
Het emailtje laat ik opbouwen vanuit de code-behind. Voor kleine mailtjes niet zo probleem maar met emails met veel html code wordt het een stuk onoverzichtelijker vanwege de dubbele aanhalingstekens die erin moeten en er mag ook niet worden afgebroken mits goed afgesloten met " & _ .

Ik wil nu een email html bestand die wordt 'ingeladen' en waarin de waardes worden gezet. Hoe doe ik dit?
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
  woensdag 2 juni 2010 @ 20:02:12 #142
269384 OEM
I spit on your aircraft
pi_82250817
quote:
Op woensdag 2 juni 2010 19:22 schreef Ker_Plunk het volgende:
Ik maak regelmatig op mijn werk formulieren waaruit emails verstuurd worden met de ingevulde informatie.
Het emailtje laat ik opbouwen vanuit de code-behind. Voor kleine mailtjes niet zo probleem maar met emails met veel html code wordt het een stuk onoverzichtelijker vanwege de dubbele aanhalingstekens die erin moeten en er mag ook niet worden afgebroken mits goed afgesloten met " & _ .

Ik wil nu een email html bestand die wordt 'ingeladen' en waarin de waardes worden gezet. Hoe doe ik dit?
Ik doe altijd het meest simpele:
1. maak een html file met op de plekken waar wat gevuld moet worden "{parameternaam}"
2. lees file in
3. replace alle {xxx} met de juiste waarde

1
2
3
4
5
6
string text = File.ReadAllText("emailtemplate.html");
text = text.Replace("{naam}", "OEM");
text = text.Replace("{adres}", "Oemstraat 12");
text = text.Replace("{woonplaats}", Oemmerveen");

mailer.Send(from, to, text);


dat eindeloos replacen is ook niet de mooiste oplossing, maar dat maakt ook niet zoveel uit in dit soort gevallen.
pi_82252356
quote:
Op woensdag 2 juni 2010 20:02 schreef OEM het volgende:

dat eindeloos replacen is ook niet de mooiste oplossing, maar dat maakt ook niet zoveel uit in dit soort gevallen.
Je kan het wel wat overzichtelijker maken door een Dictionary te vullen met die 2 waardes en daar dan doorheen loopen.
  woensdag 2 juni 2010 @ 23:00:16 #144
269384 OEM
I spit on your aircraft
pi_82261239
quote:
Op woensdag 2 juni 2010 20:29 schreef Fortitude het volgende:

[..]

Je kan het wel wat overzichtelijker maken door een Dictionary te vullen met die 2 waardes en daar dan doorheen loopen.
True.

Ik zit meer met het feit dat als de template heel erg groot is, dat je dan heel vaak aan het replacen bent in een hele grote haystack. Dan zou je het eigenlijk streamend moeten doen, maar dat schiet hier zwaar z'n doel voorbij.
pi_82284139
quote:
Op woensdag 2 juni 2010 19:22 schreef Ker_Plunk het volgende:
Ik maak regelmatig op mijn werk formulieren waaruit emails verstuurd worden met de ingevulde informatie.
Het emailtje laat ik opbouwen vanuit de code-behind. Voor kleine mailtjes niet zo probleem maar met emails met veel html code wordt het een stuk onoverzichtelijker vanwege de dubbele aanhalingstekens die erin moeten en er mag ook niet worden afgebroken mits goed afgesloten met " & _ .

Ik wil nu een email html bestand die wordt 'ingeladen' en waarin de waardes worden gezet. Hoe doe ik dit?
Wel eens aangedacht om hier een bestaande oplossing voor te gebruiken?
Ik doe iets soortgelijks op me werk, en gebruik daar Umbraco als CMS voor waar ook de Mensen met gegevens staan, werkt super handig.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_82285236
Ik begrijp nog niet volledig wat jullie bedoelen (ben nog een beginner). Bij vb.net maak ik een variabele aan van de waardes die binnen komen uit het formulieren en die plaats ik dan in de html code. Ga zo wel eerst even kijken of het inladen lukt
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
pi_82332487
Bij een site heb ik een menu waarin 2 classes bestaan, het menu zit in een masterpage.
'active' voor als de pagina actief is en 'off' als deze dat niet is.

Elke van de buttons is een asp:label (ter vervanging van een div) waaraan de class hangt.

Bij asp classic gebruikte ik een if then statement die de Pagename bekeek en dan een class aanriep. (slechts een regeltje code…)

Hoe ik dat doe in aspx? Het leek mij het beste om vanuit de asp:label een control event te starten en daar een if then te gebruiken. Ik weet alleen niet welke term ik verder moet gebruiken. Ik zie pagetitle/pagename niet verschijnen tijdens het typen (misschien een bepaalde namespace importeren?).
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
pi_82332634
quote:
Op vrijdag 4 juni 2010 15:55 schreef Ker_Plunk het volgende:
Bij een site heb ik een menu waarin 2 classes bestaan, het menu zit in een masterpage.
'active' voor als de pagina actief is en 'off' als deze dat niet is.

Elke van de buttons is een asp:label (ter vervanging van een div) waaraan de class hangt.

Bij asp classic gebruikte ik een if then statement die de Pagename bekeek en dan een class aanriep. (slechts een regeltje code…)

Hoe ik dat doe in aspx? Het leek mij het beste om vanuit de asp:label een control event te starten en daar een if then te gebruiken. Ik weet alleen niet welke term ik verder moet gebruiken. Ik zie pagetitle/pagename niet verschijnen tijdens het typen (misschien een bepaalde namespace importeren?).
Wat je moet doen is een nieuw project maken en dan de "Web Application" template kiezen. Hetgeen wat je dan default krijg heeft precies wat jij nu probeert te maken.

Dit is in ieder geval wat zij als menu gebruiken:
quote:
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
<asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/>
</Items>
</asp:Menu>
pi_82332708
Kut misschien toch niet. Ik dacht dat je het over pagina's had. Maar misschien kan je het toch gebruiken.
  vrijdag 4 juni 2010 @ 19:31:03 #150
269384 OEM
I spit on your aircraft
pi_82340799
quote:
Op vrijdag 4 juni 2010 15:55 schreef Ker_Plunk het volgende:
Bij een site heb ik een menu waarin 2 classes bestaan, het menu zit in een masterpage.
'active' voor als de pagina actief is en 'off' als deze dat niet is.

Elke van de buttons is een asp:label (ter vervanging van een div) waaraan de class hangt.

Bij asp classic gebruikte ik een if then statement die de Pagename bekeek en dan een class aanriep. (slechts een regeltje code…)

Hoe ik dat doe in aspx? Het leek mij het beste om vanuit de asp:label een control event te starten en daar een if then te gebruiken. Ik weet alleen niet welke term ik verder moet gebruiken. Ik zie pagetitle/pagename niet verschijnen tijdens het typen (misschien een bepaalde namespace importeren?).
Geen idee wat je exact probeert te bereiken, maar misschien:

1
2
3
4
5
6
7
public partial class MasterPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string pageName = Page.GetType().FullName;
    }
}


Zet anders ergens een breakpoint en kijk welke members Page allemaal heeft
  vrijdag 4 juni 2010 @ 21:47:32 #151
159156 Dokay
Ago ergo sum
pi_82346346
Ik moet nu voor mijn HBO opleiding een webapplicatie schrijven in ASP.NET. Ik baal hiervan omdat mijn voorkeur uitgaat naar PHP i.c.m. MySQL en ik hier ook veel ervaring mee heb. Nu probeer ik al enige tijd om C# te leren uit een Engelstalig boek. Ik heb geen problemen met Engels maar hier word ik echt niet wijzer van. Het kost me erg veel moeite om door de stof heen te worstelen, te werken met Visual Studio en te leren denken op de OO wijze.

Mijn vraag aan jullie: Hoe hebben jullie jezelf C# eigen gemaakt (of niet)? Tegen welke struikelblokken liep je aan?
pi_82347927
quote:
Op vrijdag 4 juni 2010 21:47 schreef Dokay het volgende:

Mijn vraag aan jullie: Hoe hebben jullie jezelf C# eigen gemaakt (of niet)? Tegen welke struikelblokken liep je aan?
Makkelijkste manier is een boek pakken, daar zijn ze voor geschreven. Of tutorials maken. Overigens zou ik een ASP.NET pakken in plaats van een C# boek. Bij C# zou je snel winforms enzo krijgen en dat is toch behoorlijk anders.

Edit:
Hoezo baal je hier trouwens van? Lijkt mij wel aardig dat je tenminste even de basics van .NET ziet.

[ Bericht 9% gewijzigd door Fortitude op 04-06-2010 22:30:00 ]
pi_82355295
IK zou je adviseren om het MVC framework te downloaden en gebruik te maken van LINQ, en balen moet je niet MySQL en PHP is toch wel de Lada van de webtechnieken
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
pi_82355350
quote:
Op zaterdag 5 juni 2010 01:26 schreef raptorix het volgende:
IK zou je adviseren om het MVC framework te downloaden en gebruik te maken van LINQ, en balen moet je niet MySQL en PHP is toch wel de Lada van de webtechnieken
MVC vind ik ook wel interessant. Ik wil meer de web kant op, maar ik zie eigenlijk alleen maar normale ASP.NET vacatures. Geen enkele vermelding over MVC. Te nieuw waarschijnlijk.
  zaterdag 5 juni 2010 @ 10:48:23 #155
269384 OEM
I spit on your aircraft
pi_82359075
quote:
Op vrijdag 4 juni 2010 21:47 schreef Dokay het volgende:
Ik moet nu voor mijn HBO opleiding een webapplicatie schrijven in ASP.NET. Ik baal hiervan omdat mijn voorkeur uitgaat naar PHP i.c.m. MySQL en ik hier ook veel ervaring mee heb. Nu probeer ik al enige tijd om C# te leren uit een Engelstalig boek. Ik heb geen problemen met Engels maar hier word ik echt niet wijzer van. Het kost me erg veel moeite om door de stof heen te worstelen, te werken met Visual Studio en te leren denken op de OO wijze.

Mijn vraag aan jullie: Hoe hebben jullie jezelf C# eigen gemaakt (of niet)? Tegen welke struikelblokken liep je aan?
In dit artikel staat wel zo'n beetje opgesomd welke struikelblokken je tegen gaat komen. De titel van het artikel is misschien een beetje negatief (en terecht), maar inhoudelijk is het okee.

ASP.NET Sucks and It DOES Matter
pi_82411367
quote:
Op vrijdag 4 juni 2010 19:31 schreef OEM het volgende:

[..]

Geen idee wat je exact probeert te bereiken, maar misschien:
[ code verwijderd ]

Zet anders ergens een breakpoint en kijk welke members Page allemaal heeft
Het is eigenlijk heel simpel
Het menu dat in een masterpage zit bestaat uit 5 knoppen. Logischerwijs is het externe css bestand gekoppeld aan de masterpage. Deze knoppen ( asp:label ipv div ) hebben een css klasse genaamd ' off ' . Als je bijvoorbeeld op de pagina contact komt, moet de knop voor de pagina contact een andere css klasse laden, genaamd ' active '. Deze klasse is anders vormgegeven zodat je ziet dat je op de pagina contact bent. Dat is het

Ik had zelf het idee om van de asp:label een event handler te maken en dan iets van

1
2
3
4
If Page.Header.Title = "Contact of wat er ook staat…" Then
Call CssClass {.class = "active" }
Else
Call CssClass {.class = "off" }


Het stukje met de curly braces heb ik ergens van google vandaan, zie die curly braces eigenlijk nooit
Ben morgen pas om me werk dus kan het nu helaas niet checken

je voorbeeld is trouwens C# , site is in VB gebouwd

[ Bericht 12% gewijzigd door Ker_Plunk op 06-06-2010 20:52:29 ]
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
  maandag 7 juni 2010 @ 00:26:44 #157
269384 OEM
I spit on your aircraft
pi_82426215
quote:
Op zondag 6 juni 2010 20:23 schreef Ker_Plunk het volgende:

[..]

1. In de Page_Load van de masterpage kun je de pagina bepalen mbv Page.GetType
2. asp:Label heeft de property CssClass die je kan vullen in de Page_Load met een waarde adhv de pagina

dan zijn we er toch al?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
public partial class MasterPage : System.Web.UI.MasterPage
{
    protected void Page_Load(object sender, EventArgs e)
    {
        lblButton1.CssClass = "off";
        lblButton2.CssClass = "off";

        string pageName = Page.GetType().FullName;

        if (pageName == "ASP.page1_aspx")
        {
            lblButton1.CssClass = "active";
        }
        else if (pageName == "ASP.page2_aspx")
        {
            lblButton2.CssClass = "active";
        }
    }
}

Als dit voor je werkt, dan kun je daarna deze functionaliteit evt wegstoppen in een eigen control (al dan niet gesubclasst van asp:Label). Ik zou geen losse eventhandlers gaan maken voor elk label.

PS: ik schrijf niet in de programmeertaal van Lucifer himself ;) ik neem aan dat c# lezen geen probleem is
pi_82438174
quote:
Op maandag 7 juni 2010 00:26 schreef OEM het volgende:

[..]

1. In de Page_Load van de masterpage kun je de pagina bepalen mbv Page.GetType
2. asp:Label heeft de property CssClass die je kan vullen in de Page_Load met een waarde adhv de pagina

dan zijn we er toch al?
[ code verwijderd ]

Als dit voor je werkt, dan kun je daarna deze functionaliteit evt wegstoppen in een eigen control (al dan niet gesubclasst van asp:Label). Ik zou geen losse eventhandlers gaan maken voor elk label.

PS: ik schrijf niet in de programmeertaal van Lucifer himself ik neem aan dat c# lezen geen probleem is
Yup, dat werkt Wel even zitten rotzooien tot ik erachter kwam dat ik natuurlijk 'page1' moet vervangen

In Satan's code (ja ja… als ik tijd heb ga ik wisselen met C#…)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
Imports System.Web.UI.MasterPage


Partial Class website
    Inherits System.Web.UI.MasterPage

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        pnl01.CssClass = "off"
        pnl02.CssClass = "off"
        pnl03.CssClass = "off"
        pnl04.CssClass = "off"
        pnl05.CssClass = "off"

        Dim pageName As String = Page.[GetType]().FullName

        If pageName = "ASP.index_aspx" Then
            pnl01.CssClass = "active"

        ElseIf pageName = "ASP.pag2_aspx" Then
            pnl02.CssClass = "active"

        ElseIf pageName = "ASP.pag3_aspx" Then
            pnl03.CssClass = "active"

        ElseIf pageName = "ASP.pag4_aspx" Then
            pnl04.CssClass = "active"

        ElseIf pageName = "ASP.pag5_aspx" Then
            pnl05.CssClass = "active"

        End If

    End Sub
End Class
α & Ω
Yaaaaaamaaaaaaaaahaaaaaaaaaaaaaaaa
pi_82441852
quote:
Op zaterdag 5 juni 2010 10:48 schreef OEM het volgende:

[..]

In dit artikel staat wel zo'n beetje opgesomd welke struikelblokken je tegen gaat komen. De titel van het artikel is misschien een beetje negatief (en terecht), maar inhoudelijk is het okee.

ASP.NET Sucks and It DOES Matter
Veel zaken die hij noemt zijn flauwekul, daarnaast is het artikel 2 jaar oud. Als hij roept dat hij geen gratis .NET CMS kan vinden wat fatsoenlijk werkt zegt wel iets over de auteur.
🕰️₿🕰️₿🕰️₿🕰️₿🕰️₿🕰️ TikTok next Block
  maandag 7 juni 2010 @ 14:46:32 #160
269384 OEM
I spit on your aircraft
pi_82442816
quote:
Op maandag 7 juni 2010 14:28 schreef raptorix het volgende:

[..]

Veel zaken die hij noemt zijn flauwekul, daarnaast is het artikel 2 jaar oud. Als hij roept dat hij geen gratis .NET CMS kan vinden wat fatsoenlijk werkt zegt wel iets over de auteur.
De essentie van het verhaal is dat ASP.NET een poging is om WinForms 1-op-1 te vertalen naar WebForms. Daarmee heeft MS een gedrocht gecreerd wat extreem ingewikkeld is met een zeer steile leercurve, MVC is wat dat betreft een hele verademing.
abonnement Unibet Coolblue Bitvavo
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')