javascript - mvc _layout 在 renderbody() 执行之前调用函数

标签 javascript jquery asp.net-mvc razor layout

我正在使用 MVC 5。

我需要在加载每个页面之前调用一个函数。 我是在 _Layout.cshtml View 中完成的:

 $(function () {
        $('body').on('click', function (e) {
            var valor = GetSession();
            $('#hdnSessionTime').val(valor);
        });
}

我在布局页面中定义的隐藏字段中保存了一个值,每次用户单击每个页面时,都会执行名为 GetSession 的函数。

问题是它在 @RenderBody() 之后执行,而我之前需要它...

这可能吗?

最佳答案

有时您希望在调用操作方法之前或操作方法运行之后执行逻辑。为支持这一点,ASP.NET MVC 提供了过滤器。过滤器是自定义类,它提供了声明式和程序化的方式来向 Controller 操作方法添加操作前和操作后行为。您可以使用 自定义过滤器,例如 this .

客户端

如果你想在客户端运行代码,你可以使用这段代码(@RenderBody() 之前):

<script type="text/javascript">
    $(document).ready(function () {
        var valor = GetSession();
        $('#hdnSessionTime').val(valor);
    });
</script>

参见 this对于类似的例子。

关于javascript - mvc _layout 在 renderbody() 执行之前调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45761623/

相关文章:

c# - 使用 OnClick 事件与 asp :Button 的 PostBackUrl 属性

jquery 切换以在多个实例中工作

c# - 如何防止捆绑使用项目中未包含的文件?

c# - 使用 ValidateAntiForgeryToken 自定义授权过滤器订单执行

javascript - 为什么开发人员偶尔会在 "SharedArrayBuffer" "Atomics"属性中添加 ".eslintrc.json"和 "globals"?

javascript - 尝试根据传递的数据中的值对动态呈现的 div 进行排序

javascript - 将 jQuery 代码翻译为 Google 跟踪代码管理器的纯 JavaScript

javascript - jQuery .getJSON Firefox 3 语法错误未定义

Jquery 和 Html 存储没有正确添加

c# - 将模型发送到 Jquery