【发布时间】:2016-02-16 11:49:53
【问题描述】:
在服务器端,我定义了一个新的布尔值并将其设置为<input>标签,但浏览器无法检测到它。
@{ var isAuthor = false; }
<input type="hidden" value="@isAuthor" />
编译后结果为:<input type="hidden"></input>
但是,当我尝试将 isAuthor 转换为 string 时,它应该可以工作:
@{ var isAuthor = false; }
<input type="hidden" value="@isAuthor.ToString()" />
结果:<input type="hidden" value="false"></input>
为什么?我错过了什么吗?
【问题讨论】:
-
你错过了什么 - 没有。这正是剃须刀引擎的工作方式。如果一个属性的值为
null或false,它不会被渲染 - 如果你添加了name="@isAuthor"它也不会被渲染 -
你也可以使用
@Html.Hidden(),如果为false则不会隐藏值。
标签: c# html asp.net-mvc razor