A Propos de l'auteur

Name of author Bruno Raby
Je suis un passionné de développement logiciel et j'ai trouvé le projet BlogEngine.NET superbe. J'ai créé ce blog pour apporter ma contribution au développement des applications webs et des différents StarterKits.

Ecrivez moi Send mail

Calendrier

<<  May 2012  >>
MoTuWeThFrSaSu
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar

Recent comments

Authors

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2012

Sign in

Cours de BlogEngine.NET en C# - 1

by Bruno 10/5/2007 5:40:00 AM

Problème : Comment ajouter un paramètre utilisateur, un "setting" dans le fichier settings.xml.

Je veux ajouter la possiblité à l'utilisateur de configurer le "sujet" des emails envoyés par BlogEngine.NET.
J'ai un certain nombre d'applications qui tournent sur le réseaux et qui me transmettent des emails.
Si je ne peux pas paramètrer le sujet des emails, je me demande toujours, pendant un moment, d'où ils peuvent bien provenir ...

Les settings sont idéaux pour ce que je veux faire.

Il me faut pouvoir ajouter dans settings.xml un tag dans le genre :

<emailsubject>Coucou c'est mon blog ASP.NET C# Blog - </emailsubject> 

Et la gestion de ce tag dans l'interface graphique et le code, ce qui donne :

Dans l'interface graphique :

BlogEngine.NET v1.2.1\admin\Pages\Settings.aspx

<div class="settings">
<h1>E-mail</h1>
<label>Sujet</label>
<asp:TextBox runat="server" ID="txtEmailSubject" Width="300" /><br />

Dans le code : 

Pour l'instant, le texte du label n'est pas dans  les ressources mon sujet n'étant pas l'internationnalisation.

\BlogEngine.NET v1.2.1\admin\Pages\Settings.aspx.cs

private void BindSettings()
{

//-----------------------------------------------------------------------
// Set Email settings
//-----------------------------------------------------------------------
BlogSettings.Instance.EmailSubject = txtEmailSubject.Text;

//-----------------------------------------------------------------------
// Bind Email settings
//-----------------------------------------------------------------------
txtEmailSubject.Text = BlogSettings.Instance.EmailSubject;

C'est terminé.

A j'oublais dans BlogEngine.NET 1.2.1\BlogEngine.NET v1.2.1\contact.aspx.cs dans la fonction :

private bool SendEmail()
{

Remplacez la ligne existante par la ligne :

mail.Subject = BlogSettings.Instance.EmailSubject + txtSubject.Text;

Comment se miracle est-il possible ? Très simple, tout se trouve dans l'utilisation judicieuse de l'objet :  StringDictionary dans :
BlogEngine.NET 1.2.1\BlogEngine.Core\Providers\BlogProvider.cs

public abstract StringDictionary LoadSettings();
/// <summary>
/// Saves the settings to the provider.
/// </summary>
public abstract void SaveSettings(StringDictionary settings);

C'est deux fonctions sont implémentées soit façon XmlProvider soit SqlProvider.

Efficace non ?

Currently rated 5.0 by 1 people

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags: , , ,

BlogEngine.NET

Related posts

Comments

Powered by BlogEngine.NET 1.2.1.0
Theme by Mads Kristensen