I'm working on an Asp.net core 5 MVC targeted .Net 5.
I have a JavaScript function in one of my views, this function should execute if a condition is true.
To be clear :
I have a Controller's Action this action will sometimes return an object ViewResultMessageModel.
ViewResultMessageModel Definition:
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
}
What I did in my action:
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 );
}
My JavaScript function:
function ShowSuccess(message,title="Succés") {
//Some logic here
}
I tried this:
<script>
$(document).ready(function () {
if (@resultMessage !== null)
{
if(@resultMessage.Type === @ViewResultMessageType.Success)
{
ShowSuccess(@resultMessage.Message,@resultMessage.Title);
}
}
});
</script>
resultMessage defined in the above of the view like this :
@{
var resultMessage = (ViewResultMessageModel) ViewBag.ResultMessage;
}
but the function doesn't executed when @resultMessage !== null I know the way I used with Js is not good, but pease is there any way to check the condition and if it is True wanna execute ShowSuccess method ??