在带有HtmlAttributes的MVC Html.ActionLink上使用@class和自定义类失败

时间:2014-06-26 02:08:37

标签: c# css asp.net-mvc razor actionlink

我已经通读了这里的链接,我可以找到这些技术。我没看到完全匹配,所以......

我有一个自定义CSS类,我尝试使用包含HtmlAttributes的{​​{1}}来应用它,但它永远不会覆盖{@class的基础CSS(在同一个文件中) 1}}。甚至删除<a>的默认CSS也会失败。相比之下,当我在a中使用@style时,它会起作用。

我假设我的语法中存在一个微妙但愚蠢的错误。

注意:我的目标是让链接看起来像按钮。现在,我决定删除下划线作为概念证据。

以下是工作的Razor标记,其中HtmlAttributes是一个包含属性中文本的对象,其ID用于模型/ db:

quote

精细。这转储下划线。但是以下没有工作,我无法说明原因。实际的CSS来到这里。它除了其他内容之外还有其他内容,但都没有应用。

@Html.ActionLink(quote.QuoteContent.SupplyBytesAsString(), "ReadQuote",
new {quoteContentID = quote.QuoteContentID }, 
new { @style = "text-decoration: none;" })

这是我现在的CSS,只是相关部分(?),Microsoft的默认和我的。我已经尝试了各种来源为我的@Html.ActionLink(quote.QuoteContent.SupplyBytesAsString(), "ReadQuote", new { quoteContentID = quote.QuoteContentID }, new { @class = "quote" }) 课程推荐的每个选项...... quotes然后.quoteaa .quote本身,冒号,我能找到的任何其他东西或梦想。也许我错过了什么,呃。

无论如何,在我的头脑爆炸之前,我很想知道我做错了什么。感谢...

.quote

&LT;问题结束&gt;

1 个答案:

答案 0 :(得分:0)

感谢 idlerboris 的评论。我查看了他们建议的问题(包括从浏览器查看源标记)和CSS 附加。

所以,事实证明我确实犯了一个愚蠢的错误,就像我担心的那样,早在我发布这里之前就已经发布了。

简而言之,CSS不起作用,因为我的CSS文件中没有自己定义.quote。当然,我开始使用.quote定义的独立,但当时某处的某个错误(可能在Razor结束时)一定让我感到困惑,我匆忙修复而不是做得对。

如果 这里有一个语法课,这是显而易见的一个:不要尝试在组合选择器CSS语法中使用样式,除非它已经由它自己定义。

另一个指针:在调试时不要忘记在浏览器中刷新,并且没有编辑页面内容。缓存会让你烦恼。这不是根本问题,但忘记缓存没有帮助。

这里的 主要 课程显然是:代码缓慢,更喜欢通过猜测来查找,而不管是什么,只更改一个变量在每个实验中!的 叹息