我有以下代码:
@Ajax.ActionLink("Settings", "SettingsPopup", "Settings",
new { area = "Customer" },
new AjaxOptions()
{
HttpMethod = "Get",
UpdateTargetId = "settings-content",
InsertionMode = InsertionMode.Replace,
OnSuccess = "settingsPopupLoaded",
AllowCache = true
},
new { @class = "profile-right__a icon-help" })
我需要在此内容中添加<i class="sub"></i>
元素:
<a href=""><i class="sub"></i></a>
怎么做?
答案 0 :(得分:1)
当您想要自定义标记但仍想要ajaxy行为时。你可以简单地使用jQuery来连接它(这就是ajax助手也做的)
<a class="ajaxy" targetid="settings-content"
href="@Url.Action("settingsPopup","Settings",new { area="Customer"})">
<span class="glyphicon glyphicon-user text-@userLevel"></span>
</a>
javascript非常简单,只需使用css类“ajaxy”查找元素,使用jQuery $.get
方法进行ajax调用,并使用返回的结果更新DOM元素。
function settingsPopupLoaded(e) {
console.log('settingsPopupLoaded', e);
}
$(function () {
$(".ajaxy").click(function (e) {
e.preventDefault();
var _this = $(this);
$.get(_this.attr("href"), function (res) {
var tId = _this.attr("targetid");
$("#" + tId).html(res);
settingsPopupLoaded(res);
});
});
});
如果只是使用ajax调用的响应更新DOM元素,也可以使用$.load
方法。