Конвертировать тип текстового поля в пароль в asp.net mvc

nth-of-type работает в соответствии с индексом того же типа элемента, но nth-child работает только в соответствии с индексом независимо от того, какой тип элементов сиблингов.

Например

<div class="one">...</div>
<div class="two">...</div>
<div class="three">...</div>
<div class="four">...</div>
<div class="five">...</div>
<div class="rest">...</div>
<div class="rest">...</div>
<div class="rest">...</div>
<div class="rest">...</div>
<div class="rest">...</div>

Предположим, что в выше html мы хотим скрыть все элементы, имеющие класс отдыха.

В этом случае nth-child и nth-of-type будут работать точно так же, как и все элементы одного типа, <div>, поэтому css должен быть

.rest:nth-child(6), .rest:nth-child(7), .rest:nth-child(8), .rest:nth-child(9), .rest:nth-child(10){
    display:none;
}

OR

.rest:nth-of-type(6), .rest:nth-of-type(7), .rest:nth-of-type(8), .rest:nth-of-type(9), .rest:nth-of-type(10){
    display:none;
}

Теперь вам должно быть интересно узнать, в чем разница между nth-child и nth-of-type, так что это разница

Предположим, что html is

<div class="one">...</div>
<div class="two">...</div>
<div class="three">...</div>
<div class="four">...</div>
<div class="five">...</div>
<p class="rest">...</p>
<p class="rest">...</p>
<p class="rest">...</p>
<p class="rest">...</p>
<p class="rest">...</p>

В приведенном выше html тип элемента .rest отличается от других .rest - это абзацы, а другие - div, поэтому в этом случае if вы используете nth-child, вы должны писать так

.rest:nth-child(6), .rest:nth-child(7), .rest:nth-child(8), .rest:nth-child(9), .rest:nth-child(10){
    display:none;
}

, но если вы используете nss-тип css, это может быть

.rest:nth-of-type(1), .rest:nth-of-type(2), .rest:nth-of-type(3), .rest:nth-of-type(4), .rest:nth-of-type(5){
    display:none;
}

Как тип Элементом .rest является <p>, поэтому здесь nth-of-type обнаруживает тип .rest, а затем он накладывает css на 1-й, 2-й, 3-й, 4-й, 5-й элементы <p>.

29
задан Ravi Ram 11 November 2014 в 00:39
поделиться

10 ответов

Вы имеете в виду <%=Html.Password("test")%>?

22
ответ дан Liam 11 November 2014 в 00:39
поделиться

Просто напишите в Razor View, т.е. в .cshtml файле под строкой

  @Html.PasswordFor(m=>m.Password)

Здесь m - объект модели, а password - имя поля пароля.

68
ответ дан Ravinder Gangadher 11 November 2014 в 00:39
поделиться

Либо используйте вспомогательную функцию HTML Password:

<%= Html.Password("Password") %>

, либо используйте параметр type в поле ввода:

<input name="password" type="password" />

См. Листинги 4 и 5 в эта страница

14
ответ дан ChrisF 11 November 2014 в 00:39
поделиться

ниже - расширение, основанное на html-помощнике:

перед преобразованием:

@Html.TextBox("mypass", null, new { style = "width: 200px;" })

После преобразования:

@Html.Password("mypass", null, new { style = "width:200px;" })

надежда помогает кому-то.

2
ответ дан stom 11 November 2014 в 00:39
поделиться

При использовании строго типизированного представления и начальной загрузки используйте следующий код, чтобы убедиться, что поле пароля правильно оформлено:

@Html.PasswordFor(model => model.Password, new { @class = "form-control" })
3
ответ дан Sven Vranckx 11 November 2014 в 00:39
поделиться

Существует много типов использования текстовых полей с паролем в ASP. NET MVC

С элементами управления html это будет выглядеть так:

<input type="password" name="xx" id="yy">

С Razor-синтаксисом это будет похоже на:

@Html.Password(name, value, html_attributes)

Или в строго типизированном виде мог написать

@Html.PasswordFor(model=>model.Password)
5
ответ дан Cengiz Araz 11 November 2014 в 00:39
поделиться
    <div class="editor-field">
        @Html.PasswordFor(model => model.Password, new { htmlAttributes = new { @class = "form-control", placeholder = "Password" } })
        @Html.ValidationMessageFor(model => model.Password)
    </div>
1
ответ дан Vasily Kabunov 11 November 2014 в 00:39
поделиться

В файле .cshtml:

@Html.PasswordFor(modal => modal.Password)
1
ответ дан Petter Friberg 11 November 2014 в 00:39
поделиться
 @Html.EditorFor(model => model.Password, 
      "Password",
       new { htmlAttributes = new { @class = "form-control" } })
0
ответ дан Maulik Parmar 11 November 2014 в 00:39
поделиться

Другой способ - добавить @type = password к вашим html.texbox() атрибутам, например, так:

перед преобразованием:

@Html.TextBox("mypass", null, new { @class = "" })

После преобразования:

@Html.TextBox("mypass", null, new { @class = "", @type = password })

Это замаскирует текст вашего текстового поля кружками вместо текста. Это происходит потому, что атрибут @type = password сообщает вашему текстовому полю, что он имеет тип «пароль».

Этот метод преобразования вашего текстового поля в ввод пароля является простым и быстрым способом преобразования из стандартного текстового поля формы бритвы.

0
ответ дан Joey Phillips 11 November 2014 в 00:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: