Javascript 在渲染任何视图(或部分视图)之前,如何执行操作?

Javascript 在渲染任何视图(或部分视图)之前,如何执行操作?,javascript,jquery,asp.net,asp.net-mvc,razor,Javascript,Jquery,Asp.net,Asp.net Mvc,Razor,我的问题很简单。我想知道在呈现任何视图(或部分视图)之前,是否有默认情况下(由ASP.Net引擎)自动调用的方法(或其他方法)。我喜欢截取它来执行一个动作,例如生成一个随机数 如果有人有更好的想法,我会解释我的想法 我的应用程序的视图和部分以如下id模式呈现元素:Model\u id。在某些情况下,当用户打开一个模式窗口,其中的视图会重复主窗口中任何元素的id时,我的jquery选择器就会感到困惑。我已经创建了自定义帮助程序来执行该行为,因此我考虑生成随机数(并将其存储在会话中)并将其压缩到id

我的问题很简单。我想知道在呈现任何视图(或部分视图)之前,是否有默认情况下(由ASP.Net引擎)自动调用的方法(或其他方法)。我喜欢截取它来执行一个动作,例如生成一个随机数

如果有人有更好的想法,我会解释我的想法

我的应用程序的视图和部分以如下id模式呈现元素:
Model\u id
。在某些情况下,当用户打开一个模式窗口,其中的视图会重复主窗口中任何元素的id时,我的jquery选择器就会感到困惑。我已经创建了自定义帮助程序来执行该行为,因此我考虑生成随机数(并将其存储在会话中)并将其压缩到id中,以获得类似于
Model\u id\u 1234
1234\u Model\u id
的内容

如果有更好的方法,知道会很好

您可以编写一个命令,允许您在执行操作之前拦截。然后将使用以下方法调用:

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    // do your pre action display stuff here!!
    // if the code is added to basecontroller - 
    // also optionally defer back to base.OnActionExecuting(filterContext);
    base.OnActionExecuting(filterContext);
}
我会在回答中添加更多细节,就像刚才在运输途中一样

请参阅,它涵盖了MVC的控制器管道

[编辑]-对于评论,另请参见以下答案:。实际上,在本例中,我们不创建actionfilter,我们只覆盖基本控制器内的
OnActionExecuting

您可以编写一个允许您在执行操作之前拦截的。然后将使用以下方法调用:

protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
    // do your pre action display stuff here!!
    // if the code is added to basecontroller - 
    // also optionally defer back to base.OnActionExecuting(filterContext);
    base.OnActionExecuting(filterContext);
}
我会在回答中添加更多细节,就像刚才在运输途中一样

请参阅,它涵盖了MVC的控制器管道


[编辑]-对于评论,另请参见以下答案:。实际上,在这个示例中,我们不创建actionfilter,我们只覆盖基本控制器内的
OnActionExecuting

但是我必须在每个控制器上添加该过滤器,我想要这种行为,对吗?有一种方法可以自动完成吗?嗯,你可以添加一个basecontroller来实现这一点。我曾经问过一个类似的问题,与这种类型的使用有关。让我为你们引用它,并添加到答案中。我正在寻找其他东西来测试这个解决方案,我发现了你们的另一个答案,它帮助了我。所以你帮了我一次三个答案哈哈。谢谢,成功了。保持这份伟大的工作!!哈哈,亲爱的,当你用一个的价格买到旧的
3场景。很高兴你已经启动并运行了..但是我必须在每个控制器上添加过滤器,我想要这种行为,对吗?有一种方法可以自动完成吗?嗯,你可以添加一个basecontroller来实现这一点。我曾经问过一个类似的问题,与这种类型的使用有关。让我为你们引用它,并添加到答案中。我正在寻找其他东西来测试这个解决方案,我发现了你们的另一个答案,它帮助了我。所以你帮了我一次三个答案哈哈。谢谢,成功了。保持这份伟大的工作!!哈哈,亲爱的,当你用一个的价格买到旧的
3场景。很高兴你能跑起来。。