簡體   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