这只是出于好奇
为什么这段代码有效:
Html.TextBoxFor(x => x.Age, new { @Value = "0"})
这不是:
Html.TextBoxFor(x => x.Age, new { @value = "0"})
请注意其中的大写“V”@Value
I know value
是一个关键字,但也是readonly
它有效。没有必要使用@Readonly
(带有大写“R”)。
有人知道吗?
InputExtensions.TextBoxFor http://aspnetwebstack.codeplex.com/sourcecontrol/latest#src/System.Web.Mvc/Html/InputExtensions.cs特殊情况 case 一些属性名称,其中value
(区分大小写)。这与 C# 关键字无关。
特别是从获得的值expression
参数优先于名为的属性value
你进入htmlAttributes
范围。
看看你的例子:
如果你使用Html.TextBoxFor(x => x.Age, new { @value = "0"})
它会编译,但是TextBoxFor
将覆盖value
具有值的属性x.Age
评估为.
-
如果你使用Html.TextBoxFor(x => x.Age, new { @Value = "0"})
它将编译,您将在属性字典中得到两个条目,一个Value
that's "0"
,和一个value
, 那是x.Age
.
我希望输出是一些无意义的东西,比如<input Value="0" value="..." type="text"/>
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)