0
我一直在尝试处理ASP.NET MVC 4中的可选HTML required
和readonly
属性。令我惊讶的是,我发现HTML助手中的null
属性呈现为空字符串而它们在剃刀中完全去除(理想行为)。在ASP.NET MVC中不一致的空属性处理4
例如,下面的代码:
@{ string disabled = null; string @readonly = null; }
@Html.TextBox("t1", "Value", new { disabled, @readonly })
<input type="text" name="t2" value="Value" disabled="@disabled" readonly="@(@readonly)" />
呈现:
<input disabled="" id="t1" name="Txt1" readonly="" type="text" value="Value" />
<input type="text" name="t2" value="Value" />
基本上我想知道的是:
- 什么是这两种不同的行为背后的原因是什么?
- 有没有办法在不编写任何自定义代码的情况下使用
Html.TexBox
获得相同的结果?
编辑
这是不可能的,而无需编写自定义的HTML帮助,但有这个功能请求上CodePlex。
是的,但仍然......人们会期望在整个平台上对这些情况进行一致的处理。有没有一种方法可以模仿Html.Helpers中的类似行为? – Meryovi
@Meryovi:不是我所知道的(没有修改源代码)。您可以在http://aspnetwebstack.codeplex.com/ – SLaks
上打开功能请求或拉取请求。我刚刚发现那里已经有一项功能请求,谢谢! – Meryovi