WN

WN (https://www.wn.se/forum/index.php)
-   Klientsidans teknologier, design och grafik (https://www.wn.se/forum/forumdisplay.php?f=12)
-   -   Ändra style i masterpage från code behind (https://www.wn.se/forum/showthread.php?t=1050249)

Slatan 2011-09-29 15:59

Ä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 2011-09-29 16:46

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? :(

digiArt 2011-09-29 18:37

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>


goose 2011-09-30 10:02

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

Slatan 2011-10-03 13:40

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...


Alla tider är GMT +2. Klockan är nu 17:25.

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