2

我有一个页面显示一个包含大量元素的元素列表,每个元素都有一个布尔属性,表示启用和禁用状态。

我需要为用户提供每个列表项的链接,并且链接文本必须显示相反的状态(因此,如果启用该项目,则链接文本必须显示“禁用”)。

当用户单击禁用的链接时,该项目的相应链接文本必须更改为“启用”(反之亦然)。

我不想为每次点击重新加载整个列表,只是 ActionLink 本身的文本,所以我的问题是:

当用户单击链接时,是否可以仅更新 ActionLink 本身,或者我是否已经使用自定义 javascript 来处理这个问题?

4

2 回答 2

1

据我记得,您可以通过将匿名类作为大多数重载的最后一个参数来将 HTML 属性添加到“a”标签。

在我的脑海中,这可以写成如下:

Html.ActionLink("Name", "Action", "Controller", new { @class = 'updateId' });

(您可以使用比类更可取的 ID 来执行此操作 - 如果不只是使用唯一的类名来避免更新多个项目。)

然后您可以使用 javascript 访问“updateId”类并更改内部 html。

在 jQuery 的情况下:

$("a.updateId").html("NewName");
于 2009-08-20T08:34:42.890 回答
0

这可以通过包含在要更新的元素中的自定义用户控件来完成。可以在此处找到解决方案的说明。不需要自定义客户端脚本。

于 2009-09-07T18:18:14.980 回答