我正在开发一个asp核心网站,我想在bootstrap中显示asp-validation-summary消息和viewbag或tempdata或任何消息。经过一些研究和实验,我找到了一种方法来做到这一点,但它非常笨拙,并没有达到标准。 你能否建议一个更好的方法来做到这一点。
以下是我的代码段
控制器代码段
[^;]*
查看代码段
public async Task<IActionResult> UserHome(UserProfileViewModel model)
{
if (ModelState.IsValid)
{
AppUser user = await userrepo.GetLoggedInUserAsync(HttpContext);
Mapper.Map<UserProfileViewModel,AppUser>(model,user);
await userrepo.UpdateUserAccountAsync(user);
TempData["Message"] = "Profile updated";
return RedirectToAction("UserHome");
}
else
{
return View(model);
}
}
答案 0 :(得分:0)
我对视图所做的改动很小, 在Javascript中使用您的TempData
<div class="modal fade" id="myModal">
<div class="modal-dialog">
<div class="modal-content">
<!-- Modal Header -->
<div class="modal-header">
<h4 class="modal-title">Modal Heading</h4>
<button type="button" class="close" data-dismiss="modal">×</button>
</div>
<!-- Modal body -->
<div class="modal-body">
<div asp-validation-summary="All"></div>
<div id="Message"></div>
</div>
<!-- Modal footer -->
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Close</button>
</div>
</div>
将此行放入脚本内
<script>
$(document).ready(function() {
var msg = "@TempData["Message"]";
//Check the condition if its not empty
if (msg != "") {
$("#Message").text(msg);
$('#myModal').modal('show');
}
});
</script>