首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >为什么<input type="hidden">不能接受来自服务器端的布尔值?

为什么<input type="hidden">不能接受来自服务器端的布尔值?
EN

Stack Overflow用户
提问于 2015-11-15 15:33:34
回答 1查看 8.2K关注 0票数 16

在服务器端,我定义了一个新的布尔值,并将其设置为<input>标记,但浏览器无法检测到它。

代码语言:javascript
复制
@{ var isAuthor = false; }
<input type="hidden" value="@isAuthor" />

编译后的结果是:<input type="hidden"></input>

但是,当我尝试将isAuthor转换为string时,它应该可以工作:

代码语言:javascript
复制
@{ var isAuthor = false; }
<input type="hidden" value="@isAuthor.ToString()" />

结果:<input type="hidden" value="false"></input>

为什么?我错过了什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-15 15:45:03

这是一个称为条件属性的Razor视图引擎功能。这个想法是为了简化场景,在这个场景中,您希望或不希望根据值呈现属性。以前你必须编写if语句或使用三元运算符来处理,但有了条件属性,这一切都变得非常简单。

对于条件属性,如果属性的值为nullfalse,则不会呈现该属性。如果您希望值为false,则需要将其转换为string,就像您在问题中所做的那样。

您可以在此blog article中阅读有关条件剃刀属性的详细介绍

票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33717448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档