gpt4 book ai didi

c# - 使用 Razor 在 MVC 3 中动态禁用表单字段

转载 作者:太空宇宙 更新时间:2023-11-03 20:31:07 24 4
gpt4 key购买 nike

我在 Razor View 中有一个大表单,并希望根据传入的模型对象的状态禁用某些表单元素。因此必须定义一些逻辑来确定是否显示此元素,使它是只读的或使其可编辑。

我目前的想法是让我用那里的逻辑定义一些 Razor @helper,尽管我不确定这是否是最好的方法。有点像……

@helper determineElementStatus(string modelProperty)
{
if (modelProperty == someState) {
@Html.TextBoxFor....etc
}
}

@determineElementStatus(model.someProperty)

的确,我不确定这个 View 是否在正确的位置。它表示逻辑,因为它改变了表单的外观,但它最好放在其他地方吗?如何??。帮助将不胜感激。

最佳答案

在 View 中您可以控制更改 css 的逻辑。例如根据模型值的值,我创建了 displayMode 并将其应用于 Html。

  @{
string isInherited = Model.IsInheritedValue ? "editor-field inherColor" : "editor-field";
object displayMode = Model.IsDisabled ? new { @disabled = "disabled", @class = isInherited } : (object)new { @class = isInherited };
}

所以现在无论何时你展示

@Html.TextBoxFor(x => x.Value, displayMode)

displayMode 将决定如何显示它。希望这会有所帮助。

关于c# - 使用 Razor 在 MVC 3 中动态禁用表单字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7507490/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com