2009-06-01 3 views

Antwort

3

In Controller:

ViewData["DivIsVisible"] = ... 
return View(); 

// or with ViewModel 

public class TheViewModel 
{ 
    public bool DivIsVisible; 

    ... 
} 

... 

var model = new TheViewModel { DivIsVisible = true /* false */, ... } 
return View(model); 

In Aussicht:

<script runat="server"> 
    protected bool DivIsVisible { 
     get { 
      return ViewData["DivIsVisible"] != null && (bool)ViewData["DivIsVisible"]; 
     } 
    } 
</script> 

<div <%= DivIsVisible ? "" : "style='display: none'" %>> 
</div> 

<% if(DivIsVisible) { %> 
    <div> 
     ... 
    </div> 
<% } %> 

<!--or with View Model --> 

<div <%= Model.DivIsVisible ? "" : "style='display: none'" %>> 
</div> 

<% if(Model.DivIsVisible) { %> 
    <div> 
     ... 
    </div> 
<% } %> 
+0

fantastische Beispiele tun möchten. aber vielleicht hättest du eine bevorzugte Methode vorschlagen sollen? Meine bevorzugte wäre die "TheViewModel" -Klasse im Controller und das Inline-Style-Attribut zum Aufruf der Sichtbarkeit. +1 –

+0

Die Lösung mit View Model ist mein Favorit –

0
myDiv.Style["display"] = 'none'; 

oder

myDiv.Visible = false; 

Ist das, was Sie wollen?

-2

das Ergebnis aus der Datenbank als Teil der Ansicht Modell

senden, dann können Sie diese Syntax

<% if(Model.Property) == "desired value"{%> 
<% RenderPartial("div")%> 
<%}%> 

der beste Ansatz wäre, verwenden, um die CSS-Eigenschaft des div zu ändern mit jQuery die Analyse Datenbankwert

$ (function() { if (<% Model.Property == "Sollwert" %>) $ (div) .Hide(); });

+0

was ist, wenn der Kunde keine js hat? – redsquare

+0

das ist, wenn Sie den ersten Ansatz und den zweiten Ansatz verwenden, wenn Sie es mit js – Rony

Verwandte Themen