Est-il possible d'éditer ou de modifier le fichier css au moment de l'exécution?
C'est possible, mais ce n'est pas conseillé. Ce que vous proposez est de faire votre application asp.net dans un éditeur de fichiers.Cela impliquerait d'augmenter les privilèges pour le contexte de sécurité de votre application (l'utilisateur sous lequel il s'exécute) qui ouvre une grosse boîte de Pandore.
L'alternative la plus simple consiste à injecter des classes dans votre page asp.net en écrivant un nouvel élément <style type="text/css">
sur votre page qui inclut les classes css que vous voulez produire dynamiquement.
Par exemple, vous pourriez sauver le background-color
à une table UserSettings
(ou tout autre par utilisateur mécanisme de persistance), puis chargez-le dans votre page .aspx comme ceci:
<style type="text/css">
.changebackgroundcolor {
background-color: <%= user.BackgroundColor %>;
}
</style>
Ou vous pouvez garder le définitions de classe dans un fichier css. Au lieu d'émettre les classes directement dans la page, écrivez dynamiquement du code jQuery pour modifier la définition de la classe, en suivant certains des exemples d'autres réponses.
Quand vous dites 'définitivement' voulez-vous dire 1) jusqu'à ce que l'utilisateur quitte cette page, 2) pour cet utilisateur, pour toujours, ou 3) pour tous les utilisateurs, pour toujours? –
pour cet utilisateur pour toujours je veux éditer le CSS en même temps pour cet utilisateur –
Si vous voulez juste le faire pour cet utilisateur, vous pouvez suivre vos modifications css, les soumettre au serveur via AJAX ou une telle méthode quand l'utilisateur a fini de personnaliser, de stocker les modifications dans votre base de données, puis de générer dynamiquement le CSS par chargement de page en fonction de l'utilisateur connecté. Un peu de travail, mais assez simple. –