-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Notyf messages don't appear from POST function in ASP.Net Core 5.0 #8
Comments
Hi Omar,
I found that if I use an ajax call to do the post action, I can call a Notyf message in the post function and it will appear on the web page when returning from the post function. Here is part of my code as an example. However, when calling a post function using ajax, I have to pass all of the form data since this is not posted automatically from my Razor web page (am using Microsoft Visual Studio and C# Razor pages):
Javascript:
var myData = { "FirstName": FirstName, "LastName": LastName, "EmailAddress": EmailAddress, "JSONservices": servicesLink, "JSONAccessLevels": AccessLevelsJSONstring };
// invoke the function to create a new staff account
$.ajax({
type: "POST",
url: '/Staff/EditStaffAccount?handler=UpdateStaffAccount',
data: myData,
dataType: "json",
beforeSend: function (xhr) {
xhr.setRequestHeader("XSRF-TOKEN", $('input:hidden[name="__RequestVerificationToken"]').val());
},
//
success: function (result) {
//display the message
console.log(result.message);
//were we successful?
if (result.status === "success") {
//set the flag
UpdatedStaffInfo = true;
}
else {
//set the flag that a new location wasn't added
UpdatedStaffInfo = false;
}
},
error: function (xhr, status, errorThrown) {
var err = "Error encountered, status: " + status + " xhr.statuscode: " + xhr.status;
console.log(err);
alert(status.message);
}, …
C# Razor Page:
public async Task<IActionResult> OnPostUpdateStaffAccount(StaffAccount NewStaffInfo,
string JSONservices, string JSONAccessLevels)
{
//create a new staff account
// …
//<my code here>
// all done
DisplayMessage = "Updated staff account for " + origStaffInfo.FirstName + " " + origStaffInfo.LastName;
_notifyService.Custom(DisplayMessage, 5, "#0020C2"); //Cobalt Blue
return new JsonResult(new { status = "success", message = DisplayMessage });
}
The “Updated staff account…” message will appear on the web page when returning the JsonResult.
Hope this helps!
Best regards, Bruce
Bruce Tompkins
* (403) 399-3871
* 1-888-266-4381 (toll free)
* ***@***.*** ***@***.***>
Member of Sukyo Mahikari Since 1993
From: Omar Ashraf ***@***.***>
Sent: Wednesday, September 15, 2021 5:56 AM
To: aspnetcorehero/ToastNotification ***@***.***>
Cc: BruceInCalgary ***@***.***>; Author ***@***.***>
Subject: Re: [aspnetcorehero/ToastNotification] Notyf messages don't appear from POST function in ASP.Net Core 5.0 (#8)
i have the same issue, did you find a solution ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#8 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AD4OYYKHIAU7MZJ2A76LXW3UCCCTHANCNFSM466KVOUA> .
Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub> . <https://github.com/notifications/beacon/AD4OYYO7PHQV5NSC4ZM6F5LUCCCTHA5CNFSM466KVOUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOG3KVYSY.gif>
|
Hi Omar,
I might also mention that there are also points in my UpdateStaffAccount() post function (mentioned in my first email reply) that if an error is encountered I do return an error status and use Notyf to display an error message. Here is an example:
if (!result.Succeeded)
{
ErrorMessage = "";
foreach (IdentityError errorResult in result.Errors)
{
//if we have a username already taken, change username to email (they are the same in Identity)
if (errorResult.Description.IndexOf("User name") >= 0)
{
ErrorMessage += errorResult.Description.Replace("User name", "Email address");
}
else
{
ErrorMessage += errorResult.Description;
}
}
// error in creating a new Identity user
_notifyService.Custom(ErrorMessage, 10, "#DC143C"); //Crimson
return new JsonResult(new { status = "Error", message = ErrorMessage });
}
Best regards, Bruce
Bruce Tompkins
* (403) 399-3871
* 1-888-266-4381 (toll free)
* ***@***.*** ***@***.***>
Member of Sukyo Mahikari Since 1993
From: Bruce Tompkins ***@***.***>
Sent: Wednesday, September 15, 2021 4:19 PM
To: 'aspnetcorehero/ToastNotification' ***@***.***>
Cc: Bruce Tompkins ***@***.***>
Subject: RE: [aspnetcorehero/ToastNotification] Notyf messages don't appear from POST function in ASP.Net Core 5.0 (#8)
Hi Omar,
I found that if I use an ajax call to do the post action, I can call a Notyf message in the post function and it will appear on the web page when returning from the post function. Here is part of my code as an example. However, when calling a post function using ajax, I have to pass all of the form data since this is not posted automatically from my Razor web page (am using Microsoft Visual Studio and C# Razor pages):
Javascript:
var myData = { "FirstName": FirstName, "LastName": LastName, "EmailAddress": EmailAddress, "JSONservices": servicesLink, "JSONAccessLevels": AccessLevelsJSONstring };
// invoke the function to create a new staff account
$.ajax({
type: "POST",
url: '/Staff/EditStaffAccount?handler=UpdateStaffAccount',
data: myData,
dataType: "json",
beforeSend: function (xhr) {
xhr.setRequestHeader("XSRF-TOKEN", $('input:hidden[name="__RequestVerificationToken"]').val());
},
//
success: function (result) {
//display the message
console.log(result.message);
//were we successful?
if (result.status === "success") {
//set the flag
UpdatedStaffInfo = true;
}
else {
//set the flag that a new location wasn't added
UpdatedStaffInfo = false;
}
},
error: function (xhr, status, errorThrown) {
var err = "Error encountered, status: " + status + " xhr.statuscode: " + xhr.status;
console.log(err);
alert(status.message);
}, …
C# Razor Page:
public async Task<IActionResult> OnPostUpdateStaffAccount(StaffAccount NewStaffInfo,
string JSONservices, string JSONAccessLevels)
{
//create a new staff account
// …
//<my code here>
// all done
DisplayMessage = "Updated staff account for " + origStaffInfo.FirstName + " " + origStaffInfo.LastName;
_notifyService.Custom(DisplayMessage, 5, "#0020C2"); //Cobalt Blue
return new JsonResult(new { status = "success", message = DisplayMessage });
}
The “Updated staff account…” message will appear on the web page when returning the JsonResult.
Hope this helps!
Best regards, Bruce
Bruce Tompkins
* (403) 399-3871
* 1-888-266-4381 (toll free)
* ***@***.*** ***@***.***>
Member of Sukyo Mahikari Since 1993
From: Omar Ashraf ***@***.*** ***@***.***> >
Sent: Wednesday, September 15, 2021 5:56 AM
To: aspnetcorehero/ToastNotification ***@***.*** ***@***.***> >
Cc: BruceInCalgary ***@***.*** ***@***.***> >; Author ***@***.*** ***@***.***> >
Subject: Re: [aspnetcorehero/ToastNotification] Notyf messages don't appear from POST function in ASP.Net Core 5.0 (#8)
i have the same issue, did you find a solution ?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub <#8 (comment)> , or unsubscribe <https://github.com/notifications/unsubscribe-auth/AD4OYYKHIAU7MZJ2A76LXW3UCCCTHANCNFSM466KVOUA> .
Triage notifications on the go with GitHub Mobile for iOS <https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675> or Android <https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub> . <https://github.com/notifications/beacon/AD4OYYO7PHQV5NSC4ZM6F5LUCCCTHA5CNFSM466KVOUKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOG3KVYSY.gif>
|
Hi community, After some research, I finally found the solution for this issue.
Hope this helps you! 😎 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
I have added some notyf messages in my ASP.Net Core 5.0 web app with Razor pages which look great! These messages work great from the OnGet() function when the page is created. I have added some notyf calls in the OnPut() function but these messages aren't displayed until navigation to the next page. Is there any way to force the notyf messages to display immediately in a OnPost() function call?
The text was updated successfully, but these errors were encountered: