
[英]How to call click method without clicking button in javascript?
[英]Why razor executes a C# method inside a button click method on compilation without clicking the button?
-ASP.NET 4.7 Web 应用程序-
我在 session 中保存了一些通知以向用户展示。 我想在单击按钮时删除 session 变量。
这个想法是为了确保用户得到通知,只要用户不点击“知道”按钮,我就不会从 session 中删除通知,这样每次用户重新加载页面时,他们都会看到相同的通知 window。
我在模态中有一个按钮,如下所示:
<button type="button" class="btn btn-secondary" onclick="clearSession()" data-dismiss="modal">Got it</button>
这是应该在按钮单击时调用的方法:
<script type="text/javascript">
function clearSession() {
@{Session.Remove("WhatsNewList");}
};
</script>
问题是即使未单击按钮,代码的以下部分也会预编译并执行。
@{Session.Remove("Notifications");}
我想知道这是什么原因,有没有办法防止这种情况发生。
我知道我可以使用 Ajax 或 jQuery 调用 C# 方法,但我想知道是否有办法我也可以这样做。
提前致谢!
围绕表达式使用@{ } 将导致表达式在页面加载到浏览器之前在服务器端进行评估,这意味着代码将在页面被请求时立即执行。 所以,简短的回答是,你不能用这种方法做你想做的事情。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.