---
title: "Var placera dynamisk css kod i mvc app?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/dotnet/183889-var-placera-dynamisk-css-kod-i-mvc-app"
topic: ".NET"
topic_url: "https://www.webforum.nu/amne/dotnet"
author: "doggelito"
published: "2010-06-20T17:04:22.000Z"
updated: "2010-06-20T17:47:22.000Z"
replies: 3
views: 373
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/dotnet/183889-var-placera-dynamisk-css-kod-i-mvc-app"
---

# Var placera dynamisk css kod i mvc app?

## #1 — doggelito, 2010-06-20T17:04Z

Hej, 
håller på å labbar lite MVC 2 och har en fundering.
Min usercontrol vy ser ut så här nu:

```
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IList<Category>>" %>

<ul class="categories">
    <%
        foreach (Mvc.Entities.Category category in Model)
        {
            if (category.IsExpanded)
            {                
                var css = "";
                var padding = "";        

                if (category.Depth == 0)
                {
                    css += " topItem";
                }
                else
                {
                    css += " subItem";
                    padding = "style=\"padding-left:" + (category.Depth * 20) + "px;\"";
                }

                if (category.IsSelected)
                {
                    css += " selected";
                }
            %>
                <li class="<%=css %>"><a <%=padding %> href="<%=Url.Action("Index","Home",new {categoryid=category.ID}) %>" title="<%=category.Name %>"><%=category.Name%></a></li>
            <% 
            }
        }    
    %>
</ul>
```

Är det ok att ha csskoden så här?
Varför jag undrar är för man ska väl egentligen inte ha matematik i en vy?!

Permalänk: https://www.webforum.nu/p/183889

## #2 — onkelborg, 2010-06-20T17:20Z

Hm, det där är väl bra ut, nästan? Att räkna ut rent grafiska saker (avstånd, hur saker ska renderas osv) ska se ut är ju ett jobb för just vyn. Däremot tycker jag att du har lite feltänk, det känns som att din färdiga lista borde se ut ungefär såhär istället:

\<ul\>
\<li\>nivå 1
\<ul\>
\<li\>nivå 2\</li\>
\<li\>nivå 2
\<ul\>
\<li\>nivå 3\</li\>
\</ul\>
\</li\>
\</ul\>
\</li\>
\<li\>nivå 1\</li\>
\</ul\>

Dvs, inte använda padding utan nästa istället. På så sätt behöver du ingen inline-css utan kan skapa indenteringen snyggt i din stylesheet

Permalänk: https://www.webforum.nu/p/2241142

## #3 — rhdf, 2010-06-20T17:25Z

Hur ser den renderade html:en ut?
Jag gissar på att det är någon form av trädstruktur du försöker rendera, eller?

men du borde kunna flytta ut den där logiken till en metod i nån klass
så att du bara behöver skriva

```
<li class="<%=GetCssClasses(category.IsExpanded,category.Depth,category.IsSelected) %>"><a <%=padding %> href="<%=Url.Action("Index","Home",new {categoryid=category.ID}) %>" title="<%=category.Name %>"><%=category.Name%></a></li>
```

Permalänk: https://www.webforum.nu/p/2241144

## #4 — doggelito, 2010-06-20T17:47Z

Tack båda! :bire
Visst borde listan vara nästlad istället för padding! Tänkte inte på det! :)
En GetCss klass vore annars ett alternativ. :)

Permalänk: https://www.webforum.nu/p/2241150

---

Tråden på webben: https://www.webforum.nu/amne/dotnet/183889-var-placera-dynamisk-css-kod-i-mvc-app
