【发布时间】:2021-07-18 17:02:55
【问题描述】:
我正在处理Asp.net core 5 MVC 目标.Net 5。
我的views 之一中有一个JavaScript 函数,如果条件为true,则应执行此函数。
要明确:
我有一个Controller 的Action 这个动作有时会返回一个对象ViewResultMessageModel。
ViewResultMessageModel 定义:
public class ViewResultMessageModel
{
public string Title { get; set; }
public string Message { get; set; }
public ViewResultMessageType Type { get; set; }
}
**ViewResultMessageType Definition:**
public enum ViewResultMessageType
{
Error,
Success
}
我在行动中做了什么:
public async Task<IActionResult> Edit(PedagogicalSequenceModelVm model)
{
if (ModelState.IsValid)
{
// Some logic here
var resultMessage = new ViewResultMessageModel() {Type = ViewResultMessageType.Success, Title = "Success", Message = "Edited"};
ViewBag.ResultMessage = resultMessage;
return RedirectToAction(nameof(Edit), new {id = model.Id});
}
// Some logic here
return View( _model );
}
我的 JavaScript 函数:
function ShowSuccess(message,title="Succés") {
//Some logic here
}
我试过了:
<script>
$(document).ready(function () {
if (@resultMessage !== null)
{
if(@resultMessage.Type === @ViewResultMessageType.Success)
{
ShowSuccess(@resultMessage.Message,@resultMessage.Title);
}
}
});
</script>
resultMessage在上面的视图中定义如下:
@{
var resultMessage = (ViewResultMessageModel) ViewBag.ResultMessage;
}
但是当@resultMessage !== null 时函数没有执行我知道我使用Js 的方式不好,但是有什么方法可以检查条件,如果是True 想执行ShowSuccess方法??
【问题讨论】:
标签: javascript c# asp.net-core model-view-controller