【问题标题】:How to replace the lists with mvc4 actionlink lists如何用 mvc4 actionlink 列表替换列表
【发布时间】:2012-08-26 00:01:39
【问题描述】:

工作正常:

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

想用 Actionlink 替换上面的代码:(CSS 在这里不起作用..)

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

我的问题是,当我使用 Actionlink 时,CSS 无法识别。我使用了单个 CSS 属性。然后它也不起作用。

请给我一个解决方案。谢谢。

【问题讨论】:

  • “无法识别 CSS”是什么意思?
  • ActionLink 的 html 输出是什么,并将其与您的 html 示例进行比较
  • @nemesv,CSS 无法识别意味着“CSS 无法识别”

标签: asp.net html css razor asp.net-mvc-4


【解决方案1】:

因为您想在锚标记中包装标记,据我所知这不适用于@Html.ActionLink()。例如,如果您尝试这样做:

@Html.ActionLink("<span class='rtsTxt'>User Security</span>", "Index", 
                 new { Area = "Tools", Controller = "UserSecurity" }, 
                 new { @class = "rtsLink" })

不会工作。

使用 Url.Action 辅助方法作为解决方法(以防没有其他答案更适合您的需求)。

例如,可以在您的视图中标记以下内容:

<a href="@Url.Action("Index",  
                 new { Area = "Tools", Controller = "UserSecurity" })" class="rtsLink" onclick="javascript:rtsMemoTextMenuContainerTabsManager.OnClientTabSelected(this, 0);">
   <span class="rtsTxt">User Security</span>
</a>

【讨论】:

  • url.Action 仅接受 (str,str,obj,str) 并且您拥有 (str,str,obj,obj)
猜你喜欢
  • 2017-04-05
  • 1970-01-01
  • 2021-12-25
  • 2011-12-07
  • 1970-01-01
  • 2022-11-10
  • 1970-01-01
  • 2023-04-11
  • 2019-10-11
相关资源
最近更新 更多