Если не использовать области, связанные с URL-адресом для JsonResults со стороны клиента, это не большая проблема, обычно вы можете избежать жесткого кодирования 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>
Хотя это работает, независимо от того, где я размещаю представления / контроллеры, мне интересно, есть ли более элегантный способ сделать это.