使用ASP.NET MVC扩展重用Javascript

使用ASP.NET MVC扩展重用Javascript,javascript,asp.net-mvc,t4mvc,Javascript,Asp.net Mvc,T4mvc,我有两个视图(创建/编辑),它们要求客户端函数使用相同的javascript。我想将我的javascript放在一个单独的文件中,这样我就可以在两个视图上引用/重用脚本,但我不能这样做,因为我在javascript中使用了MVC扩展方法 例如: $.ajax({ type: 'GET', url: '@Url.Action(MVC.Attribute.GetTargetedOrganisationAttributeScope())', traditional: true,

我有两个视图(创建/编辑),它们要求客户端函数使用相同的javascript。我想将我的javascript放在一个单独的文件中,这样我就可以在两个视图上引用/重用脚本,但我不能这样做,因为我在javascript中使用了MVC扩展方法

例如:

$.ajax({
    type: 'GET',
    url: '@Url.Action(MVC.Attribute.GetTargetedOrganisationAttributeScope())',
    traditional: true,
    data: { organisationIDs: ids },
    success: function(data) {
            // ...
        }
    }
});
我发现的一种方法是将javascript放在一个局部视图和引用中,因为它允许我使用MVC扩展。这是正确的方法吗?有没有更好的方法来实现这一点

@section Scripts{
    @{
        Html.RenderPartial(MVC.Attribute.Views.ViewNames._js);
    }
}
看法

函数BuscarPaciente(){

控制器

公共操作结果BuscarDatos(字符串标识) {


我可能会在cshtml页面上加载一个javascript变量,该变量保存url的值,然后在javascript中使用该值。要做到这一点,他必须将该脚本放在视图中,但他希望将其放在javascript文件中。你要找的是在javascript文件中执行razor语法,我希望这对你有所帮助。
        var identificacion = $("#identificacion").val();
            $.ajax({
                url: "@Url.Action("BuscarDatos")",
                data: { identificacion: identificacion },
                type: "POST",
                success: function(response) {
                    $("#resultado").hide("slow", function() {
                        $(this).html(response);
                        $(this).show("slow");
                    });
                }
            });
    };
        CAPBAS capbas = db.CAPBAS.SingleOrDefault(c => c.MPCedu == identificacion);
        return PartialView("DatosUsuario", capbas);

 }