Вы не можете передать NULL
в качестве значения для переключателя при использовании вспомогательного метода RadioButtonFor
. Если вы передадите ""
в качестве значения, вы не сможете установить его в действии GET, так как тип вашей переменной bool?
, а не строка.
Если вам абсолютно необходимы 3 радиокнопки с вашим текущим типом, вы можете просто написать чистый HTML-код для рендеринга. Пока значение атрибута name
вашей радиокнопки совпадает с именем свойства модели представления, привязка модели будет работать нормально при отправке формы.
@using (Html.BeginForm("Search","Customer"))
{
<label>Active</label>
<input type="radio" name="IsActive" value="true"/>
<label>In Active</label>
<input type="radio" name="IsActive" value="false"/>
<label>All</label>
<input type="radio" name="IsActive" checked="checked" />
<input type="submit"/>
}
Здесь мы устанавливаем атрибут checked
для всех в разметке HTML.
Другим вариантом является переключение элементов управления с 3 переключателей на 2 флажка. Вы можете отметить все из них, отмеченные изначально, и пользователь может выбрать / отменить выбор по мере необходимости. Другой вариант - изменить тип с bool?
на перечисление с этими 3 значениями. С обоими этими подходами, с использованием помощника CheckBoxFor
или RadioButtonFor
, вы сможете установить элементы, которые необходимо проверить, в вашем методе действия GET. Используйте тот, который больше соответствует вашей структуре / стилю кода.