Ich versuche, eine Passworteingabe mit Html.PasswordFor()
zu erzeugen, aber es scheint, den falschen Namen zu erzeugen.Html-Helfer scheint das falsche Namensattribut zu erzeugen?
Das ist meine gesamte Code:
@using System.Web.UI.WebControls
@using Duzan.Domain.Entities
@model IEnumerable<Korisnik>
@{
ViewBag.Title = "Login";
}
@ViewBag.Nered
<div class="container">
<div class="row">
@foreach (var k in Model)
{
<div class="col-xs-6 col-sm-3" style="padding-bottom: 10px;">
<div class="center-block" style="height: 150px; width: 150px; border: black solid 2px; text-align: center">
@k.Ime
@using (Html.BeginForm())
{
@Html.Hidden("Id", k.Id)
@Html.PasswordFor(m => k.Lozinka, new {name = "Lozinka", id = "Lozinka", placeholder = "lozinka", style = "width: 90%"})
<input type="submit" @*style="visibility: hidden"*@/>
}
</div>
</div>
}
</div>
</div>
Dies ist die HTML erzeugt wird:
<input id="Lozinka" name="k.Lozinka" placeholder="lozinka" style="width: 90%" type="password">
PasswordFor() nicht benötigen Sie den Namen oder die ID eingestellt als Datenattribut, tut sie es für Sie. Entfernen Sie den Namen und das ID-Attribut. –
@ AlejandroPérezFals das ist das Problem, wenn ich das tue, rendert es als , und natürlich möchte ich, dass es id = "Lozinka", nicht id = "k_Lozinka" oder "k.Lozinka" –
Zuerst verweisen [diese Antwort] (http://stackoverflow.com/questions/30094047/post-an-html -table-to-ado-net-datatable/30094943 # 30094943) - Sie können keine 'foreach'-Schleife verwenden, um Formularsteuerelemente für eine Auflistung zu generieren. Aber Sie sehen keinen Sinn - warum haben Sie mehrere Formulare (Sie können nur eins eingeben), die ein Passwort eingegeben haben? Was versuchst du hier zu machen? –