Используйте Html.Checkbox (или даже лучше CheckBoxFor, в MVC2), если вы используете связыватель модели. Он будет обрабатывать флажок прозрачно для вас, и вы прочитаете логическое значение на вашей модели. Это сделает что-то более сложное, чем флажок (чтобы избежать проблемы, которая возникает из-за того, что непроверенный флажок вообще не передается в POST).
Напротив, используйте ввод, если вы извлекаете значение через FormCollection: если вы используете соединение Html.Checkbox, вы получите что-то «странное» в посте (не обычное значение, а строку с двумя тестовыми значениями (например, «true, false»). Если вы используете ввод, вам просто нужно проверить, существует ли это имя в ключах записи.