Как изменить содержимое 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, какую сборку нужно изменить и как ее изменить? Как настроить код обновления? Помогите пожалуйста, спасибо!

1 ответ

Решение

Если честно, я не совсем понимаю вопрос после этих блоков кода, но могу сказать, что вы можете использовать встроенное условие в своих представлениях в 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">

Попробуйте сами.

Другие вопросы по тегам