繁体   English   中英

路由asp.net mvc时出现AJAX错误

[英]AJAX error in routing asp.net mvc

我有一个链接来执行一些ajex功能。

  <td title="address/list" class="link">Addresses</td>
  <td title="email/list" class="link">Email</td>
  <td title="phone/list" class="link">Phone Numbers</td>
  <td title="contact/edit" class="link">Edit</td>
  <td title="contact/delete" class="link">Delete</td>

javascript代码

 $('.link').live('click', function(event) {
    var id = $.trim($('td:first', $(this).parents('tr')).text());
    var loc = $(this).attr('title');
    console.log(loc);
    // check to ensure the link is not a delete link
    if (loc.lastIndexOf('delete') == -1) {
      $.get(loc + '/' + id, function(data) {
        $('#details').html(data);
      });
    // if it is, show the modal dialog   
    } else {
      $('#dialog').dialog({
        buttons: {
          'Confirm': function() {
            window.location.href = loc + '/' + id;
          },
          'Cancel': function() {
            $(this).dialog('close');
          }
        }
      }); 
      $('#dialog').dialog('open');
      }
    }); 

在此输入图像描述

我的路由就像

    public static void RegisterRoutes(RouteCollection routes)
    {
        routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

        routes.MapRoute(
            "Default",
            "{controller}/{action}/{id}",
            new { controller = "Contact", action = "List", id = "" } 
        );
    }

我想你是在dir联系人...使用这样的url.action:

<td data-url="@Url.Action("list", "email", new {id = item.id})" ...

然后得到网址:

var url = $(this).data('url');

做这些事情

标记

<td title="/address/list" class="link">Addresses</td>

假设您的控制器是这样的,

public class ContactController : Controller
{
    public JsonResult GetAddressesByID(int id)
    {
        var addresses = SomeMethodToFetchAddresses(id);
        return Json(addresses, JsonRequestBehavior.AllowGet);
    }
}

现在路由应该是这样的。

routes.MapRoute(
    "GetAddressRoute", //Route name
    "address/list/{id}", // URL with parameters
    new { controller = "Contact", action = "GetAddressesByID", id = UrlParameter.Optional } // Parameter defaults
);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM