Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用razor禁用输入元素_C#_Html_Asp.net Mvc_Razor - Fatal编程技术网

C# 使用razor禁用输入元素

C# 使用razor禁用输入元素,c#,html,asp.net-mvc,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 =>

当输入值等于“*”时,我需要动态禁用输入。如何使用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
helper方法的第二个参数将基于
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" }

在问这个问题之前,我尝试了您的代码,它生成以下输出:disabled=“disabled”或disabled。在这两种情况下,输入框都被禁用!请尝试更新的答案,我已经测试过了,它可以工作。你说的动态是什么意思?当用户输入*或m.Digit[0]为*时,是否希望文本框更改为禁用?