Преобразование html в вид бритвы с флажком

У меня есть следующий флажок:

<input type="checkbox" id="seaMode" name="transportMode" value="Origin Service" />
<label for="seaMode" data-label="Sea">Sea</label>

Однако я использую представление бритвы для привязки представления к модели:

@foreach (var val in Model.TransportList)
{
    @Html.Label(val.Value, htmlAttributes: new { @for = label })
    <i [email protected]></i>
    @Html.CheckBox(label, false, new { value = @val.Text, name = "transportMode" })
}

Прямо сейчас он возвращает его, как показано ниже:

<label for="SEAMode">SEA</label>
<i class="icon-sea"></i>
<input id="SEAMode" name="SEAMode" type="checkbox" value="1">
<input name="SEAMode" type="hidden" value="false">

Любой, кто хорошо разбирается в html, может помочь мне добавить правильный класс и атрибут, чтобы отображать html как 1-й?

Для информации, val.Value имеет SEA и val.Text = 1 и так далее.


person refresh    schedule 03.07.2018    source источник
comment
Итак, вы просто хотите, чтобы имя класса и атрибут данных были добавлены к @Html.CheckBox(label, false, new { value = @val.Text, name = "transportMode" })?   -  person Grizzly    schedule 03.07.2018
comment
@M12Беннет: Да   -  person refresh    schedule 03.07.2018


Ответы (1)


Если вы пытаетесь добавить атрибуты класса и данных, это должно сделать это:

@Html.CheckBox(label, false, new { value = @val.Text, name = "transportMode", @class = "myCheckBox", data_label = "my data label value" })

Позвольте мне знать, если это помогает.

person Grizzly    schedule 03.07.2018