html - 关于 ActionLinks 和普通 a-tag 超链接的小 MVC 样式问题

标签 html css ajax asp.net-mvc-3

我刚刚解决了一个我遇到的问题(据我所知)无法使用 ActionLink 解决,所以我使用了常规超链接。

当这两个链接呈现在页面上时,它们的样式彼此非常相似,因为它们传递相同的 css 条件,但是我注意到它们在两种方式上并不完全相同:

  • 文本在超链接上是可选的,而在 ActionLink 上是可选的
  • 将鼠标悬停在 ActionLink 上时,光标会变成一只手而不是指针,超链接会留在指针上。

我的印象是 ActionLink 呈现一个超链接,这可以解释为什么它们都由 css 设置样式,但显然存在一些差异。

有谁知道如何解决此问题,或建议使用超链接替换 ​​ActionLink 以调用 AJAX 函数(返回 PartialView)的另一种解决方案?

更新

这是呈现的 HTML。第一个是超链接,第二个是 ActionLink。

<li><a id="load-partial">Test</a></li> 
<li><a href="/Contact/List">Contact</a></li>

我在超链接中有一个 id 的原因是它会运行以下脚本以在特定的 div 中创建 View 。我似乎无法使用 ActionLink 复制它,因为它只是在没有布局 View 且完全未格式化的情况下自行返回 View 。

<script>
$(document).ready(function () {
    $('#load-partial').click(function () {
        $.ajax({
            url: '/Contact/List/',
            datatype: 'html',
            success: function (data) {
                $('#adminmain').empty().html(data);
            }
        });
    });
});
</script>

非常感谢。

最佳答案

ActionLink 只不过是一个发出 HTML A 标记的服务器端辅助方法。没有其他特别之处。

如果您看到行为/呈现方面的差异,请查看呈现的 HTML 源代码并在其中查找差异。

使用 ActionLink 需要您手动编写 A 标记,很少有您无法完成的事情。您是否针对使用它无法解决的问题发布了单独的问题?

更新(基于您发布的 HTML)

超链接缺少一个 href,所以点击时它不会执行任何操作。

如果你需要给你的 ActionLink 添加一个 ID,你可以这样做:

@Html.ActionLink("Contact (this is the text)", "List", "Contact", 
    new { someQueryStringParameter = 42 }, 
    new { id="load-partial" })

那个例子展示了如何生成

<a id="load-partial" href="/Contact/List?someQueryStringParameter=42">Contact (this is the text)</a>

请记住,ID 在给定的 HTML 页面上应该是唯一的。

关于html - 关于 ActionLinks 和普通 a-tag 超链接的小 MVC 样式问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11908256/

相关文章:

javascript - 我在一个函数中有一个嵌套函数,但我的代码无法正确清除显示。我在控制台中没有收到错误消息?

jQuery UI 日期选择器样式损坏

jquery 和 xhr.abort

css:将 float div 的高度设置为其高度的最大值

javascript - 动态创建元素并添加 onclick 事件不起作用

html - 谷歌浏览器 div 之间奇怪的差距

javascript - 带处理的 HTML5 Canvas 与纯 Javascript

ajax - Woocommerce 中未从购物车中删除的最后一项

html - 图片超出 div 的最大高度和最大宽度规则

html - 在以 html 打印期间,表页脚应显示在每页的底部