我的控制器块是:
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。