2009-06-01 3 views

Répondre

3

Contrôleur:

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

// or with ViewModel 

public class TheViewModel 
{ 
    public bool DivIsVisible; 

    ... 
} 

... 

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

En Vue:

<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

exemples fantastiques. mais peut-être que vous auriez dû suggérer une méthode préférée? mon préféré serait la classe 'TheViewModel' dans le contrôleur et l'attribut de style en ligne pour invoquer la visibilité. +1 –

+0

La solution avec View Model est ma préférée –

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

ou

myDiv.Visible = false; 

Est-ce que vous voulez?

-2

envoyer le résultat de la base de données dans le cadre de la vue Modèle

alors vous pouvez utiliser cette syntaxe

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

la meilleure approche serait de changer la propriété CSS du div en utilisant l'analyse jQuery la valeur de base de données

$ (function() { si (<% Model.Property == "valeur souhaitée" de%>) $ (div) .hide();} );

+0

si le client n'a pas js? – redsquare

+0

c'est lorsque vous utilisez la première approche et la deuxième approche si vous le souhaitez en utilisant js – Rony

Questions connexes