如何从Html.ActionLink转换为链接到Ajax调用的按钮
How to convert from Html.ActionLink to a button linked to Ajax call?
我有以下代码:
@Html.ActionLink("Edit", "Edit", new { id = user.Id },
new { @class = "btn btn-primary btn-xs", @id="edituserbutton"})
我将其转换为按钮的部分尝试如下:
<button class="btn btn-primary btn-xs" id="edituserbutton">
Edit
</button>
如何将id=user.id从html按钮版本传递给控制器,该控制器的单击事件与Ajax绑定?我的目标是使用Ajax在当前页面中显示编辑屏幕,而不是在单独的页面中导航到编辑页面(ActionLink编辑就是这样(。
$("#edituserbutton").click(function (event)
{
event.preventDefault();
// alert("edit clicked");
$.ajax({
url: "/Admin/Edit",
cache: false,
data: {}
}).done(function (htmlResponse) {
$("#tabs-1ua").html(htmlResponse);
});
});
tabs-1ua
是我要将编辑页面加载到的jqueryUI选项卡的div。
控制器中编辑方法的签名分别针对GET和POST如下:
public async Task<ActionResult> Edit(string id)
{
AppUser user = await UserManager.FindByIdAsync(id);
if (user != null)
{
return View(user);
}
else
{
return RedirectToAction("Index");
}
}
[HttpPost]
public async Task<ActionResult> Edit(string id, string email, string password)
{
//code
}
谢谢。
您可以将id
值存储在data-*
属性中。类似这样的东西:
<button class="btn btn-primary btn-xs" id="edituserbutton" data-id="@user.Id">
Edit
</button>
然后在jQuery代码中检索单击按钮的值:
$("#edituserbutton").click(function (event)
{
event.preventDefault();
$.ajax({
url: "/Admin/Edit",
cache: false,
data: { id : $(this).data('id') }
}).done(function (htmlResponse) {
$("#tabs-1ua").html(htmlResponse);
});
});
相关文章:
- 另一个ajax调用中的Jquery ajax调用在for循环中没有按预期工作
- Javascript/jQuery中的并行Ajax调用
- 任何方式使AJAX调用Gmail API,而无需通过JS库
- node.js请求数据事件未在CORS ajax调用中触发
- 如何从ajax调用返回.wrap()元素
- Ajax调用在Firefox中不会自动响应
- AJAX调用中的非法调用
- 使用AJAX调用将GeoJSON数据拉入传单
- 在MVC 4中,对Controller的Ajax调用为空
- Jquery:对返回JSON数据的php脚本的Ajax调用
- 在ajax调用中阻止来自JS对象的函数
- 如何在MVC5中ajax调用的部分视图中引用外部javascript
- 页面加载后的Ajax调用
- 如何使用Ajax调用特定的控制器和操作来重定向用户
- curl和fileget_contents在ajax调用后不起作用
- 在任何AJAX调用之前触发一个javascript函数
- 无法在mvc视图中使用ajax调用获取操作返回的模型对象列表
- Ajax调用ERror Cross Origin REquest:在rails中自动完成大学列表
- ASP.NET MVC 3-在ajax调用后,重定向到新页面或生成页面刷新
- 点击功能没有'ajax调用动态元素(Backbone)后无法工作