如何将特定的id从jQuery传递给MVC控制器操作?

时间:2014-10-18 06:49:10

标签: jquery asp.net-mvc-4 json.net

我的html按钮位于最后一行

for (var i = 0; i < len; i++) {
    if (data[i].ProductId && data[i].Name && data[i].ShortDescription && data[i].MediumImage && data[i].Price && data[i].IconImage) {
        //alert(data)
        //alert(Photoq);
        //<img id="imgAd" src="/Images/HomeImages/1.jpg" width="181px" height="215px" alt="img">
        var Photo = "<img id='imgAd' src='" + Photoq + "' width='100px' height='100px' alt='img'/>";
        //alert(Photo);
        txt += '<tr><td><div id ="result1" ><div>' + Photo + '</div> <div ><div>' 
        + '<div id="hello">' + data[i].ProductId + '</div>' + "</br> Name- " 
        + data[i].Name + "</br> Description " 
        + data[i].ShortDescription + ", </br>" 
        + data[i].Price + '<div id="cartremove"><input id="Btnremove" type="submit" value="Remove" /></div>' + "</br>";
    }
}

我的jquery代码是

 $(document).on('click', "#cartremove", function(event) {
     event.preventDefault()
     debugger;
     $.getJSON('@Url.Action("Deletecart", "home")');
 });

我的控制器操作是

public ActionResult Deletecart(int id)
    {
        return view();
    }

我想将特定的id传递给控制器​​操作,但是我的jquery $.getjson没有连接到操作控制器。我怎样才能使它发挥作用?

1 个答案:

答案 0 :(得分:0)

Deletecart需要参数id,但是你没有传递任何内容,而且你没有对返回的html做任何事情

$.getJSON('@Url.Action("Deletecart", "home")', { id: someValue }, function(data) { 
  // do something with the html that as returned 
});

建议你改变

<input id="Btnremove" type="submit" value="Remove" />

<button class="Btnremove" type="button">Remove</button>

在这种情况下,您可以删除e.preventDefault(),因为它没有提交,而且您没有重复的ID