MVC对话框-从动作链接中获取Id值
本文关键字:获取 Id 链接 对话框 MVC | 更新日期: 2023-09-27 18:11:22
在我的应用程序中,我有一些表数据看起来像这样:
<table>
<tr>
<th>Actions</th>
<th>Text</th>
</tr>
@foreach( var item in Model.Items ) {
<tr>
<td>
@Html.ActionLink("Edit", "Edit", "Items", new { @class = "edit-item-link", id = "edit-item-" + item.Id })
@Html.ActionLink("Delete", "Delete", "Items", new { @class = "delete-item-link", id = "delete-item-" + item.Id })
</td>
<td>@item.Text</td>
</tr>
}
</table>
视图将创建如下操作链接:
<a href="/Items/Edit/1" class="edit-item-link" id="edit-item-1">Edit</a>
然后我使用jquery重写动作:
$('.edit-item-link').live('click', function(e) {
e.preventDefault();
$.ajax({
type: 'POST',
url: ''
dataType: 'json'
});
});
当我将URL传递给ajax调用时,我想使用以下URL: /Items/GetItemJson/1
我怎么能得到从url的id值,而不必使用正则表达式?
我不想改变动作链接中的url,因为我将以另一种方式使用它
最简单的方法是使用data-*
属性
@Html.ActionLink("Edit", "Edit", "Items", new { @class = "edit-item-link", data_id=item.Id, id = "edit-item-" + item.Id })
应该呈现以下内容:
<a href="/Items/Edit/1" class="edit-item-link" id="edit-item-1" data-id="1">Edit</a>
然后在jQuery中你可以使用.data()
$('.edit-item-link').live('click', function(e) {
e.preventDefault();
var theId = $(this).data("id");
$.ajax({
type: 'POST',
url: ''
dataType: 'json'
});
});
使用您现有的标记,您可以从id:
var currentId = $(this).attr('id');
var id = currentId.substring(10);