如何更改ViewResult的内容

时间:2013-02-03 23:46:27

标签: asp.net asp.net-mvc-3 razor viewresult

bool isChecked = false;
<input type="checkbox" name="x" checked="@isChecked" />

在MVC 4中,上面的代码将生成为

<input type="checkbox" name="x" />

但是在MVC 3中,需要这样写:

bool isChecked = false;
@if(isChecked)
{
   <input type="checkbox" name="x" checked="checked" /> 
}
else
{
    <input type="checkbox" name="x" /> 
}

如果我们是Microsoft开发人员,需要修改哪个程序集以及如何修改它? 如何自定义升级代码? Plase帮帮我,谢谢!

1 个答案:

答案 0 :(得分:0)

说实话,我并不真正理解这些代码块之后的问题,但我可以说你可以在ASP.NET MVC3的视图中使用内联条件。例如:

bool isChecked = false;
<input type="checkbox" name="x" @(isChecked ? "checked=checked" : "") />

它更短,它会产生这样的代码:

<input type="checkbox" name="x">

顺便说一句,在视图中有一个辅助方法Html.CheckBox来创建复选框,在第二个参数中你可以指出是否要检查它:

@{bool isChecked = false;}    
@Html.CheckBox("x", isChecked)

这将是这个:

<input id="x" type="checkbox" value="true" name="x">
<input type="hidden" value="false" name="x">

自己尝试。