当我的按钮在mvc4中视图页面内的Json查询中时,如何调用我的控制器操作



我的控制器块是:

public ActionResult delete(int id)
{
}

查看页面中我的Json代码是

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) {                 
    var Photoq = "/Images/HomeImages/" + data[i].MediumImage;
    var Photo = "<img id='imgAd' src='"+ Photoq +"' width='100px' height='100px' alt='img'/>";
    txt += '<tr><td><div id ="result1" ><div>' + Photo + '</div> <div ><div>' + data[i].ProductId + "</br> Name- " + data[i].Name + "</br> Description " + data[i].ShortDescription + ", </br>" + data[i].Price+'<input id="Btnremove" type="submit" value="Remove" />' + "</br>";                            
  }

最后一行我有一个id为"Btnremove"的按钮我调用这些的jquery代码是

function deletecart() {
  $("#Btnremove").click();
  $.getJSON('@Url.Action("delete", "Home")')
};

但没有任何东西可以调用控制器动作。。。请告诉我解决办法。。并告诉如何通过按钮点击事件传递some-id。

如果有多个产品(通过查看for循环,我认为会有),那么您的页面中会有多个ID相同的按钮,这对jQuery不利。我建议你使用类而不是ID。

在发布的代码中,我找不到deletecart()的调用。

我会在主视图中使用document.ready事件将点击处理程序绑定到动态按钮

$(document).ready(function() {
    $('document').on('click', '.Btnremove', function(e) {
        $.getJSON('@Url.Action("delete", "Home")');
    });
});

请注意,我在文档中添加了"点击"处理程序,而不是按钮本身,这是因为按钮是动态创建的。此外,我使用了class而不是Id。

相关内容

  • 没有找到相关文章

最新更新