Я использую viewModel в текстовых полях, но имя поля модели не актуально в браузере.в окне просмотра браузера отображается имя поля модели с именем модели представления, например name = "ResetPasswordModel.NewPassword" , а также идентификатор поля отображается как имя, поэтому как я могу это исправить.Я добавил браузер и исходный код. Пожалуйста, просмотрите его.я надеюсь, вы понимаете мой вопрос, спасибо.
ViewModel
public class ProductViewModel
{
public User UserDetails { get; set; }
public ResetPasswordModel ResetPasswordModel { get; set; }
}
public class ResetPasswordModel
{
public string CurrentPassword{ get; set; }
public string NewPassword { get; set; }
}
Просмотр
@model ProjectName.Models.ProductViewModel
@using (Html.BeginForm("ActionName", "Controller", FormMethod.Post))
{
@Html.AntiForgeryToken()
@Html.ValidationSummary(true, "", new { @class = "text-danger" })
@Html.HiddenFor(model => model.UserDetails.UserID)
<div class="row">
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">Current Password</label>
@Html.TextBoxFor(model => model.ResetPasswordModel.CurrentPassword, new { @class = "form-control", placeholder = "Current Password" })
@Html.ValidationMessageFor(model => model.ResetPasswordModel.CurrentPassword, "", new { @class = "text-danger" })
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">New Password</label>
@Html.TextBoxFor(model => model.ResetPasswordModel.NewPassword, new { @class = "form-control", placeholder = "New Password" })
@Html.ValidationMessageFor(model => model.ResetPasswordModel.NewPassword, "", new { @class = "text-danger" })
</div>
</div>
</div>
}
БраузерViewSource
вы можете видеть, что они не отображают названия полей модели правильно
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">Current Password</label>
<input class="form-control" name="ResetPasswordModel.CurrentPassword" placeholder="Current Password" data-val="true" data-val-required="The Current Password field is required." id="ResetPasswordModel_CurrentPassword" type="text" value="" />
<span class="field-validation-valid text-danger" data-valmsg-for="ResetPasswordModel.CurrentPassword" data-valmsg-replace="true"></span>
</div>
</div>
<div class="col-sm-6">
<div class="form-group">
<label class="control-label">New Password</label>
<input class="form-control" name="ResetPasswordModel.NewPassword"
placeholder="New Password" id="ResetPasswordModel_NewPassword" type="text" data-val="true" data-val-maxlength="Maxmimum 40 characters allowed" data-val-maxlength-max="40" data-val-minlength="Minimum 8 characters required for password" data-val-minlength-min="8" data-val-required="The Password field is required" value="" />
<span class="field-validation-valid text-danger" data-valmsg-for="ResetPasswordModel.NewPassword" data-valmsg-replace="true"></span>
</div>
</div>
Контроллер
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ActionName(ResetPasswordModel ResetPass)
{
if (ModelState.IsValid)
{
}
return View();
}