gpt4 book ai didi

jquery - 如何用另一个 Ajax.ActionLink 替换(或更新)一个 Ajax.ActionLink?

转载 作者:行者123 更新时间:2023-12-01 07:15:16 26 4
gpt4 key购买 nike

假设我有一个用户列表:

用户/Index.cshtml

@model IEnumerable<MvcHoist.Models.UserProfileViewModel>

<table>
@foreach (var user in Model)
{
@Html.Partial("_User", user)
}
</table>

@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
}

...并且(使用部分)每个用户旁边是“关注”或“取消关注”链接(视情况而定):

_User.cshtml部分

@model MvcHoist.Models.UserProfileViewModel
<tr>
<td>
@if (Model.IsFollowed)
{
@Ajax.ActionLink("Unfollow", "Unfollow", new { id = Model.UserProfile.UserId }, new AjaxOptions
{
HttpMethod = "POST"
})
}
else
{
@Ajax.ActionLink("Follow", "Follow", new { id = Model.UserProfile.UserId }, new AjaxOptions
{
HttpMethod = "POST"
})
}
</td>
</tr>

在关注操作成功完成后,如何将“关注”Ajax.ActionLink 替换为“取消关注”Ajax.ActionLink? 通过更改 linkText 来使用单个 Ajax.ActionLink actionName 也可以。

这可以纯粹使用 Ajax.ActionLink 来完成(无需深入研究 jQuery)吗?动画化改变会更好。

最佳答案

渲染两个链接,而不是 @if (...) 条件,但使用“display:none;”样式渲染第二个链接。

样式属性可能如下所示:

..., new { style="display:@(Model.IsFollowed ? "block" : "none")" }, ...
..., new { style="display:@(Model.IsFollowed ? "none" : "block")" }, ...

添加一个 OnComplete 处理程序或一点 jQuery(或替代方案)以在成功时切换两个链接。

对于动画,您可以使用 jQuery fadeIn() 和 fadeOut() 函数。

关于jquery - 如何用另一个 Ajax.ActionLink 替换(或更新)一个 Ajax.ActionLink?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19688883/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com