gpt4 book ai didi

asp.net-mvc - 使用 CSS 时如何使用 Action Link

转载 作者:太空宇宙 更新时间:2023-11-04 04:57:05 25 4
gpt4 key购买 nike

<li class="rtsLI" id="Summary"><a href="javascript:void(0);" onclick="javascript:rtsXXX.OnClientTabSelected(this‌​, 0);" class="rtsLink"><span class="rtsTxt">Test</span></a></li> 

上面我将替换为以下操作链接:

<li class="rtsLI" >@Html.ActionLink("test1", "Index", new { Area = "Area1", Controller = "controller1" }, new { @class = "rtsLink rtsTxt"})</li> "

起初 css 工作正常。但是当使用 Actionlink 时,css 不起作用。谢谢

最佳答案

标准的 ActionLink 助手总是对链接文本进行 HTML 编码。这意味着如果您想在内部呈现 HTML,则不能使用它。您有 3 种可能性:

  1. 修改您的 CSS,这样您就不需要链接内的跨度,这样 rtsTxt 类就可以直接应用于链接
  2. 编写一个不对文本进行 HTML 编码的自定义 ActionLink 帮助器,它允许您生成相同的标记:

    public static class ActionLinkExtensions
    {
    public static IHtmlString ActionLinkUnencoded(
    this HtmlHelper htmlHelper,
    string linkText,
    string actionName,
    object routeValues,
    object htmlAttributes
    )
    {
    var urlHelper = new UrlHelper(htmlHelper.ViewContext.RequestContext);
    var link = new TagBuilder("a");
    link.MergeAttributes(new RouteValueDictionary(htmlAttributes));
    link.Attributes["href"] = urlHelper.Action(actionName, routeValues);
    link.InnerHtml = linkText;
    return new HtmlString(link.ToString());
    }
    }

    然后:

    <li>
    @Html.ActionLinkUnencoded(
    "<span class=\"rtsTxt\">User Security</span>",
    "index",
    new { area = "Tools", controller = "UserSecurity" },
    new { @class = "rtsLink" }
    )
    </li>
  3. 使用 Url.Action 助手:

    <li class="rtsLI">
    <a href="@Url.Action("index", new { area = "Tools", controller = "UserSecurity" })" class="rtsLink">
    <span class="rtsTxt">User Security</span>
    </a>
    </li>

关于asp.net-mvc - 使用 CSS 时如何使用 Action Link,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12210193/

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