【发布时间】:2011-09-25 03:58:14
【问题描述】:
我知道我正在尝试做的是坏主意,但我现在有特定的限制。
我有多个站点,使用同一个 MVC3 代码库。其中一个要求是从表单中隐藏一些必填字段。
我知道最好的方法是修改控制器以设置这些字段的默认值,但我希望只修改此特定站点的视图而不更改代码。
那么,如何在视图中将特定模型属性设置为默认值?理想应该是这样的:
@Html.HiddenFor(model => model.RequiredProperty)
@model.RequiredProperty = "default"
编辑:更多解释
所以,实际上这是在一个子视图中,由 2 个不同的主视图使用。仅当使用一个特定的主视图而不是其他主视图时,我才需要设置这些属性。
所以,我想默认设置需要转到那个特定的“主”视图。看起来我不能在子视图中使用 HiddenFor,然后在主视图中使用 Html.Hidden。
有没有办法检查子视图哪个是外部视图?
【问题讨论】:
-
如果没有设置默认值,为什么不在视图模型内部设置呢?这就是视图模型的用途
-
jgauffin:要求是“无后端代码更改”
标签: asp.net-mvc-3 razor model-view-controller model setdefault