大家好,我有下拉列表的问题。我第一次将数据从数据库绑定到 Dropdownlist 并且它工作正常。当我第二次提交表单(单击注册按钮)时,它会自动返回空值。
下拉列表第一次填充数据时
第二次按下创建按钮后,下拉列表为空
控制器代码:
// GET method
[HttpGet]
[Authorize]
public IActionResult Register(string returnUrl = null)
{
ViewData["RoleId"] = new
SelectList(_MedicalCenterOrdinanceContext.AspNetRoles,"Id","Name");
return View();
}
// POST method
[HttpPost]
[Authorize]
[ValidateAntiForgeryToken]
public async Task<IActionResult> Register([Bind("Username,NameAndTitle,Password,RoleId")] RegisterViewModel model, string returnUrl = null)
{
ViewData["ReturnUrl"] = returnUrl;
if (ModelState.IsValid)
{
var user = new ApplicationUser
{
UserName = model.Username,
NameAndTitle = model.NameAndTitle,
};
var result = await _userManager.CreateAsync(user, model.Password);
if (result.Succeeded)
{
var role = _userRoles.GetRole(model.RoleId);
var userAddedToRole = await _userManager.AddToRoleAsync(user, role.Name);
if (userAddedToRole.Succeeded)
{
_logger.LogInformation("User created a new account with password.");
TempData["RegisterUserPassed"] = "Succesfully created account";
}
}
else
{
model.InvalidCredentials = "This Username already exist !";
TempData["RegisterUserFailed"] = "This Username already exist";
}
}
// Redisplay form
ModelState.Clear();
return View();
}
查看代码:
<div class="input-group">
<span class="input-group-addon"><i class="glyphicon glyphicon-book"></i></span>
<select asp-for="RoleId" class="form-control" asp-items="@ViewBag.RoleId"></select>
</div>
<br />
<button type="submit" class="col-lg-12 col-md-12 col-sm-12 col-xs-12 btn btn-lg btn-primary">Create</button>
<h4 hidden class="col-lg-12 col-md-12 col-sm-12 col-xs-12 text-danger " text-danger">@Html.DisplayFor(model => model.InvalidCredentials)</h4>
</form>
</div>
红颜莎娜
相关分类