Kom ihåg mig?
Home Menu

Menu


Ändra style i masterpage från code behind

Ämnesverktyg Visningsalternativ
Oläst 2011-09-29, 15:59 #1
Slatan Slatan är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2006
Inlägg: 14
Slatan Slatan är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2006
Inlägg: 14
Standard Ändra style i masterpage från code behind

Tjao

Det här är väl säkert världens basicgrej, men hittar inget (som jag fattar) på google.

Jag har en div (content) i masterpage, i den vill jag kunna ändra bakgrund för varje sida, och det görs väl bäst från code behinden för varje sida. Men hur programmerar man det?
Slatan är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-09-29, 16:46 #2
Slatan Slatan är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2006
Inlägg: 14
Slatan Slatan är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2006
Inlägg: 14
Nu fick jag det här att funka
content.Style.Add("background", "url(inc/img/bakr-coord2.jpg) no-repeat scroll right top");

Men jag vill ju bara ändra bakgrundsbilden i diven, nu verkar hela classen tas bort och så lägger den bara till just background. Måste jag lägga till all CSS på det där sättet?
Slatan är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-09-29, 18:37 #3
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
digiArt digiArt är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Jan 2004
Inlägg: 1 429
Du kan också göra såhär:

Kod:
.bgimage {
background: url(inc/img/imagehandler.ashx) no-repeat scroll right top;
}
och din imagehandler servar rätt bild baserat på context. Exemplet visar hur du sätter ett bildnamn = host, men kan lika gärna vara något annat.

Kod:
public void ProcessRequest (HttpContext context) {
        context.Response.ContentType = "image/JPEG";
        context.Response.WriteFile(String.Format("{0}.jpg", context.Request.Url.Host));
    }
och så i din div:

Kod:
<div class="bgimage">
(En massa innehåll...)
</div>
digiArt är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-09-30, 10:02 #4
gooses avatar
goose goose är inte uppkopplad
Flitig postare
 
Reg.datum: Jun 2007
Inlägg: 451
goose goose är inte uppkopplad
Flitig postare
gooses avatar
 
Reg.datum: Jun 2007
Inlägg: 451
gör en css-class för varje bakgrund, sen är det ju bara att byta ut den i codebehind. Ett enkelt sätt är ju att skriva i din masterpage
Kod:
 
<%@ Page  masterPageFile="~/MasterPage.master"%> 
<%@ MasterType  virtualPath="~/MasterPage.master"%> 
<div class="<% =BackgroundCss %>">..content</div>
Sen i masterpage codebehind har du en property

public string BackgroundCss {get;set;}

som du sätter i din aspx-fil sen i tex OnPageLoad med

Master.BackgroundCss = "greenbg";

Obs för att kunna använda Master.[property] så måste du peka ut MasterType i din aspx-fil, se mer info här http://msdn.microsoft.com/en-us/libr...(v=vs.80).aspx
goose är inte uppkopplad   Svara med citatSvara med citat
Oläst 2011-10-03, 13:40 #5
Slatan Slatan är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2006
Inlägg: 14
Slatan Slatan är inte uppkopplad
Nykomling
 
Reg.datum: Nov 2006
Inlägg: 14
Tack så mycket för hjälpen. Jag fick det inte att funka, är inte tillräckligt bra på csharp än. Men lyckades lösa det med javascript istället...
Slatan är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 06:11.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017