【问题标题】:set div visible fasle in get method of controller在控制器的get方法中设置div可见false
【发布时间】:2009-06-01 18:41:16
【问题描述】:

我将 C# 与 MVC 一起使用。 我想在Controller的Get方法中根据数据库中的条件设置div可见真/假。

请推荐

【问题讨论】:

    标签: jquery html asp.net-mvc


    【解决方案1】:

    在控制器中:

    ViewData["DivIsVisible"] = ...
    return View();
    
    // or with ViewModel
    
    public class TheViewModel
    {
        public bool DivIsVisible;
    
        ...
    }
    
    ...
    
    var model = new TheViewModel { DivIsVisible = true /* false */, ... }
    return View(model);
    

    在视图中:

    <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>
    <% } %>
    

    【讨论】:

    • 很棒的例子。但也许您应该建议一种首选方法?我更喜欢控制器中的“TheViewModel”类和调用可见性的内联样式属性。 +1
    • 我最喜欢 View Model 的解决方案
    【解决方案2】:
    myDiv.Style["display"] = 'none';
    

    myDiv.Visible = false;
    

    这是你想要的吗?

    【讨论】:

      【解决方案3】:

      将数据库中的结果作为视图模型的一部分发送

      那么你可以使用这个语法

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

      最好的方法是使用 jQuery 分析数据库值来更改 div 的 CSS 属性

      $(函数(){ if() $(div).hide(); });

      【讨论】:

      • 客户端没有js怎么办?
      • 即当你使用第一种方法和第二种方法时,如果你希望它使用js来做
      猜你喜欢
      • 1970-01-01
      • 2011-06-26
      • 1970-01-01
      • 2016-03-17
      • 2016-01-15
      • 1970-01-01
      • 2014-02-24
      • 2014-09-09
      • 2011-04-19
      相关资源
      最近更新 更多