不一致的Asp.net MVC4(Razor 2.0)渲染,如果写入html属性

时间:2014-12-09 17:46:08

标签: asp.net-mvc-4 razor-2

在cshtml视图中(Razor 2.0)我有代码:

<input type="text" value="@if (true) { Write("simpletext"); } " />

在Razor 2.0(MVC4)生成的结果html中,我得到了:

<input type="text"simpletext value=" " />

在Razor 1.0(MVC3)代码中是正确的:

<input type="text" value="simpletext" />

似乎渲染处理器等待报价关闭,然后将属性添加到结果流。

在这种情况下,如何配置razor 2.0作为razor 1.0? 谢谢。

2 个答案:

答案 0 :(得分:1)

为什么不使用Razor提供的HTML Helpers?我认为这将有助于使用HTML助手

@if (true) { @Html.Encode("SimpleText")}

答案 1 :(得分:0)

尝试不使用Write函数,但直接在三元组中使用字符串

<input type="text" value="@(true ? "simpletext" : "")" />