c# - 通过 JQuery 访问 Controller

标签 c# jquery ajax asp.net-mvc

我有一个名为 InvoiceTo 的 View 和一个名为 Order 的 Controller 。使用 JQuery,默认 URL 为:url: '',结果如下:

locahost:端口/域/订单/InvoiceTo

如果我更改 URL:url:/Order/GetInformation,结果如下:

locahost:端口/域/订单/InvoiceTo/Order/GetInformation

我已经尝试了很多方法来设置我的网址,但总是错误的。这是我的 JQuery:

$(document).ready(function () {
        $('#InvoiceToDrop').change(function () {
            var $div = $('#modalPartial'); 
            var idcustomer = $(this).val(); 
            $.ajax({
                url: '/Order/GetInformation/' + idcustomer,
                type: 'GET',                
                success: function (data) {
                    alert(JSON.stringify(data));
                },
                error: function (error) {
                }
            })
        });
    });

我需要做什么才能获得此 URL:

locahost:端口/域/Order/GetInformation/1

最佳答案

您可以使用UrlHelper View 中的 Url.Action 方法:

$.ajax({ 
    url: '@Url.Action("GetInformation", "Order", new { customerId })',
    ...

或者

url: '@Url.Action("GetInformation", "Order")/' + idcustomer

当 View 加载时,@Url.Action 被解析并被实际值替换。

使用此方法的优点是它使用路由表而不是静态类型的 URL。

关于c# - 通过 JQuery 访问 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55835797/

相关文章:

javascript - 让Ajax取消超链接

c# - 在Elasticsearch中执行http放置

c# - 将 C# COM 服务器事件公开给 Delphi 客户端应用程序

javascript - iframe 上的事件 "load"成功触发,但无法定位 iframe

php - Yii 2,使用 Ajax 提交表单

c# - 嵌套 ASP.NET 选项卡

c# - 如何快速删除然后将多个记录插入数据库

c# - 当应用程序在后台时显示消息框

javascript - 提交时防止页面重新加载

javascript - 何时(或如何)使用 RactiveJS 设置 jQuery 事件处理程序?