将 HTML 放入 Html.ActionLink() 中,加上无链接文本?
我有两个问题:
- 我想知道在 MVC 视图中使用
Html.ActionLink()
时如何不显示链接文本(实际上,这是Site.Master
) 。
没有不允许链接文本的重载版本,当我尝试仅传递空白字符串
时,编译器告诉我它需要一个非空字符串。
我该如何解决这个问题?
-
我需要将
标记放入锚标记内,但它不适用于
Html.ActionLink();
。我希望看到以下输出:Span text
如何将标签放入 ASP.NET MVC 中的锚标签内?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(12)
您可以通过 Url.Action 渲染 url,而不是使用 Html.ActionLink
并执行空白 url
Instead of using Html.ActionLink you can render a url via Url.Action
And to do a blank url you could have
自定义 HtmlHelper 扩展是另一种选择。 注意:ParameterDictionary 是我自己的类型。您可以替换 RouteValueDictionary,但必须以不同的方式构建它。
A custom HtmlHelper extension is another option. Note: ParameterDictionary is my own type. You could substitute a RouteValueDictionary but you'd have to construct it differently.
如果您需要使用 ajax 或手动创建链接(使用标签)时无法使用的某些功能,这里是(低级和肮脏的)解决方法:
您可以使用任何文本而不是“LinkTextToken”,它只能被替换,唯一重要的是它不会出现在 actionlink 内的任何其他地方。
Here is (low and dirty) workaround in case you need to use ajax or some feature which you cannot use when making link manually (using tag):
You can use any text instead of 'LinkTextToken', it is there only to be replaced, it is only important that it does not occur anywhere else inside actionlink.
只需使用
Url.Action
而不是Html.ActionLink
:Just use
Url.Action
instead ofHtml.ActionLink
:这对我来说一直很有效。并不凌乱,而且非常干净。
文本
This has always worked well for me. It's not messy and very clean.
<a href="@Url.Action("Index", "Home")"><span>Text</span></a>
我最终得到了一个自定义扩展方法。值得注意的是,当尝试将 HTML 放置在 Anchor 对象内部时,链接文本可以位于内部 HTML 的左侧或右侧。因此,我选择为左右内部 HTML 提供参数 - 链接文本位于中间。左右内部 HTML 都是可选的。
扩展方法ActionLinkInnerHtml:
使用示例:
下面是一个使用示例。对于这个例子,我只想要链接文本右侧的内部 html...
结果:
这会产生以下 HTML...
I ended up with a custom extension method. Its worth noting, when trying to place HTML inside of an Anchor object, the link text can be either to the left, or to the right of the inner HTML. For this reason, I opted to provide parameters for left and right inner HTML - the link text is in the middle. Both left and right inner HTML are optional.
Extension Method ActionLinkInnerHtml:
Example of Usage:
Here is an example of usage. For this example I only wanted the inner html on the right side of the link text...
Results:
this results in the following HTML...
我认为这在使用 bootstrap 和一些 glypicons 时可能很有用:
这将显示一个 A 标签,带有指向控制器的链接,上面有一个漂亮的回形针图标来表示下载链接,并且 html 输出保持干净
I thought this might be useful when using bootstrap and some glypicons:
This will show an A tag, with a link to a controller, with a nice paperclip icon on it to represent a download link, and the html output is kept clean
这是@tvanfosson 答案的超级扩展。我受到它的启发并决定使其更加通用。
Here is an uber expansion of @tvanfosson's answer. I was inspired by it and decide to make it more generic.
这很简单。
如果您想要像字形图标和“愿望清单”之类的东西,
It's very simple.
If you want to have something like a glyphicon icon and then "Wish List",
我使用引导组件的解决方案:
My solution using bootstrap components:
请尝试下面的代码可能会对您有所帮助。
Please try below Code that may help you.
请尝试以下代码:
please try this code: