0

我有一个问题,我真的很困惑。

我的标记很简单:

@foreach (var item in Model.Items)
{
    <a class="mapIconUnit" id="pinDelete-@item.PinGuid.ToString()">
        @Url.Action("DeletePin") <!-- testing purposes -->
        @(Ajax.ActionLink("x", "DeletePin", MapAdministrationController.Routes.DeletePin(item.PinGuid), new AjaxOptions()
            {
                OnSuccess = "onMapPinDeleted",
                Confirm = Resources.Resource.msg_GenericDeleteConfirmationQuestion
            }
        ))
    </a>
}

现在我希望从中呈现的是:

<a class="mapIconUnit" id="...">
    ... rendered url
    <a href="..." etc>x</a>
</a>

但我得到的是:

<a class="mapIconUnit" id="...">
    ... rendered url
</a>
<a href="..." etc>x</a>

我在这里做错了什么?标记太简单了,不会造成这样的事情是错误的吗?

4

1 回答 1

1

将锚元素嵌套在另一个锚元素中是非法的,更多信息可以在 W3C 规范中找到:http: //www.w3.org/TR/html401/struct/links.html#h-12.2.2

Links and anchors defined by the A element must not be nested; an A element must not contain any other A elements.

因此,无论是剃须刀还是网络浏览器都可以正确呈现元素(即将它们彼此相邻放置)。

于 2014-12-05T13:56:31.197 回答