1
asp:PlaceHolders有一个可见的属性,它控制着他们的内容是否在页面上呈现。ASP.NET MVC2主页面PlaceHolder的可见性
我已经在MVC2母版页中声明了一个PlaceHolder,并将它的可见性设置为false。
请你能告诉我如何从一个MVC2母版页继承的MVC2视图模板中控制PlaceHolder的可见性吗?
这似乎是一个简单的任务,但我很难看到它是如何实现的。我认为我应该能够从降序视图模板(如使用网页表单代码隐藏)访问PlaceHolder,并将其设置为可见性,但这样做的方式正在逃避我...
感谢您的回答。不幸的是,访问模型(或ViewData)在主页面中不可用(并且我想评估主页面中的条件以保持干燥)。我们也不使用剃刀(也许我们应该)。在我看来,主页面应该能够具有条件元素 - 是否有另一种方法来实现这一目标? – lukkea
@lukkea,你可以有一个基本视图模型,并强烈地输入你的母版页。这个基础视图模型类将包含必要的属性。取决于这个可见性条件来自哪里,也可能有其他方式来实现它。 –
再次感谢 - 事实证明,我们使用的是“标准”主页面,而不是“MVC 2视图主页面”。现在我已经修复了应用程序以使用“MVC 2视图母版页”,我们无法强制将母版页输入到模型中,因为这是一个相当庞大,复杂的应用程序'&一些页面使用动态类型。但是,'ViewData'可以用来进行条件检查。 – lukkea