dal*_*ton 1 c# razor asp.net-mvc-3
我在Razor视图中有一个大型表单,并希望根据我传入的模型对象的状态禁用某些表单元素.因此必须定义一些逻辑来确定是否显示此元素,使其读取 - 仅限或使其可编辑.
我目前的想法是让我用那里的逻辑定义一些Razor @ helper,虽然我不确定这是否是最好的方法.有一些像 ...
@helper determineElementStatus(string modelProperty)
{
if (modelProperty == someState) {
@Html.TextBoxFor....etc
}
}
@determineElementStatus(model.someProperty)
Run Code Online (Sandbox Code Playgroud)
事实上,我不确定这个观点是否正确.它是表示逻辑,它改变了表单的外观,但它最好放在别处以及如何?帮助将不胜感激.
在视图中,您可以控制更改css的逻辑.例如,根据Model值的值,我创建displayMode并将其应用于Html.
@{
string isInherited = Model.IsInheritedValue ? "editor-field inherColor" : "editor-field";
object displayMode = Model.IsDisabled ? new { @disabled = "disabled", @class = isInherited } : (object)new { @class = isInherited };
}
Run Code Online (Sandbox Code Playgroud)
所以现在每当你表演
@Html.TextBoxFor(x => x.Value, displayMode)
Run Code Online (Sandbox Code Playgroud)
displayMode将确定如何显示它.希望这可以帮助.
| 归档时间: |
|
| 查看次数: |
3822 次 |
| 最近记录: |