'Why razor executes a C# method inside a button click method on compilation without clicking the button?
-ASP.NET 4.7 Web Application-
I hold some notifications in the session to show the user. I want to remove the session variable on button click.
The idea is to make sure the user gets notified so as long as the user don't hit "Got it" button, I won't be removing the notifications from the session so that every time the users reload the page they will see the same notification window.
I have a button in a modal as follows:
<button type="button" class="btn btn-secondary" onclick="clearSession()" data-dismiss="modal">Got it</button>
And this is the method supposed to be called on button click:
<script type="text/javascript">
function clearSession() {
@{Session.Remove("WhatsNewList");}
};
</script>
The problem is that the following part of the code precompiles and executes even though the button is not clicked.
@{Session.Remove("Notifications");}
I want to know what is the reason for this and is there a way to prevent this.
I know I can call a C# method using Ajax or jQuery but I want to know if there is a way I can do it this way as well.
Thanks in advance!
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|
