c# - 使用 Razor 禁用输入元素

标签 c# html asp.net-mvc razor

当输入的值等于“*”时,我需要动态禁用输入。我如何使用 MVC Razor 实现这一目标?

    @Html.TextBoxFor(m => m.Digits[0], new { @class = "form-control input-lg label_16", @placeholder = 
"1st", (Model.Digits[0] == "*" ? "disabled" : "") })

以上代码无法编译 这可能吗?

最佳答案

尝试使用三元运算符

@Html.TextBoxFor(m => m.Digits[0], Model.Digits[0] == "*" ? (object)new { @class = "form-control input-lg label_16", @placeholder = 
"1st", @disabled = "disabled" } : new { @class = "form-control input-lg label_16", @placeholder = 
"1st" })

在上面的代码中,@Html.TextBoxFor 辅助方法的第二个参数将基于 Model.Digits[0] 的值。如果是 * 则参数将包含 disabled 属性

new { @class = "form-control input-lg label_16", @placeholder = 
"1st", @disabled = "disabled" }

否则

new { @class = "form-control input-lg label_16", @placeholder = 
"1st" }

关于c# - 使用 Razor 禁用输入元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26179718/

相关文章:

c# - 为什么 DateTime.Now 是属性而不是方法?

c# - EF Core 添加迁移调试

javascript - 如何防止浏览器缓存一个json文件

c# - AutoMapper 中相同实体类型的不同映射规则

c# - 将 ObservableCollection<T> 转换为 ObservableCollection<String>

使用 Discord 机器人进行 C# 时间减法

jquery - 下拉 list 不起作用

javascript - 移动时阻止玩家滑动

javascript - 位置 Java 脚本在部署后停止工作

c# - (无法)开始使用 Facebook C# SDK