Nil*_*ers 2 asp.net asp.net-mvc jquery
我使用以下函数删除表中的行
//delete individual row
jQuery('.stdtable img.delete').click(function(){
var c = confirm('Continue delete?');
if(c) jQuery(this).parents('tr').fadeOut(function(){
jQuery(this).remove();
});
return false;
});
Run Code Online (Sandbox Code Playgroud)
此代码位于单独的js文件中,并且对所有页面都是通用的.现在我想添加一个Ajax操作,删除数据库中的行.但是根据我所在的页面,它必须调用不同的控制器.
示例:产品页面必须在ProductController中调用delete,ProductGroup页面必须在ProductGroupController中调用delete
怎么办呢?
如果需要某种方法来定义要调用的控制器,可以data在表上放置一个属性.像这样的东西:
<table class="stdtable" data-remove-url="@Url.Action("DeleteRow", "MyController")">
<tr data-id="1">
AAA
<img class="delete" src="foo.jpg" />
</tr>
<tr data-id="2">
BBB
<img class="delete" src="foo.jpg" />
</tr>
</table>
Run Code Online (Sandbox Code Playgroud)
然后在您的jQuery中,您可以将此值作为url请求的参数以及id要删除.
jQuery('.stdtable img.delete').click(function(e) {
e.preventDefault();
if (confirm('Continue delete?')) {
var $el = $(this);
var $tr = $el.closest('tr');
var url = $el.closest('table').data('remove-url');
var id = $tr.data('id');
$tr.fadeOut(function() {
$el.remove();
$.post(url, { rowId = id }); // do the delete on the server
});
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
349 次 |
| 最近记录: |