Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript .NETMVC,处理json和区域_Javascript_Asp.net Mvc_Asp.net Mvc Areas - Fatal编程技术网

Javascript .NETMVC,处理json和区域

Javascript .NETMVC,处理json和区域,javascript,asp.net-mvc,asp.net-mvc-areas,Javascript,Asp.net Mvc,Asp.net Mvc Areas,如果不使用处理来自客户端的JsonResults的url的区域并不是一件痛苦的事,通常您可以将url硬编码到json调用中,然后就可以了。当您有不同的区域并且在将控制器(及其视图)从一个区域移动到另一个区域时不想更新所有链接时,就会出现问题。我对在每个视图中都包含这段代码的处理方式不是很满意: <script type="text/javascript"> var ControllerActions = { JsonSearch: '<%= Url.Ac

如果不使用处理来自客户端的JsonResults的url的区域并不是一件痛苦的事,通常您可以将url硬编码到json调用中,然后就可以了。当您有不同的区域并且在将控制器(及其视图)从一个区域移动到另一个区域时不想更新所有链接时,就会出现问题。我对在每个视图中都包含这段代码的处理方式不是很满意:

<script type="text/javascript">
    var ControllerActions = {
        JsonSearch: '<%= Url.Action("JsonSearch") %>/',
        JsonDelete: '<%= Url.Action("JsonDelete") %>/',
        Edit: '<%= Url.Action("Edit") %>/',
        Delete: '<%= Url.Action("Delete") %>/'
    }
</script>

var控制器动作={
JsonSearch:“/”,
JsonDelete:“/”,
编辑:“/”,
删除:'/'
}

尽管无论我将视图/控制器放置在何处,它都可以工作,但我想知道是否有更优雅的方法来完成此操作。

我个人喜欢您上面采用的方法。最后,如果您希望控制器和操作具有移动性,最好的方法是依赖于ASP.NET MVC中可用的路由生成器(例如Url.Action)。我唯一的另一个建议是将它拉入一个部分/可重用控件中,这样它就可以归结为代码中的一行