我想根据模型的条件来启用或禁用文本区域,并且我正在使用文本区域标签助手。 换句话说,就像这样:
<textarea asp-for="Doc" @(Model.MustDisable ? "disabled" : "")></textarea>
但是我遇到了以下设计时错误:标签助手“textarea”的元素属性声明区域不得有C#。
然后我尝试了:
<textarea asp-for="Doc" disabled='@(Model.MustDisable ? "disabled" : "")'></textarea>
虽然没有显示任何设计时错误,但呈现效果如下:
Model.MustDisable==true
会呈现为 disabled='disabled'
,而Model.MustDisable==false
则不含有disabled
属性。
因此,文本区域将始终被禁用。
接着我试了一下(去掉了's):
textarea asp-for="Doc" disabled=@(Model.MustDisable ? "disabled" : "")></textarea>
这段代码在设计时没有显示任何错误,但呈现的结果与之前的相同。
我该如何正确实现它?