使 html 链接 href 属性等于 Ajax.ActionLink
Posted
技术标签:
【中文标题】使 html 链接 href 属性等于 Ajax.ActionLink【英文标题】:Make an html links href property equal Ajax.ActionLink 【发布时间】:2014-10-30 08:14:48 【问题描述】:如果我有一个 html 链接,如何使其 href 属性等于 Ajax.ActionLink? 所以它看起来像这样:
<a href="@Ajax.ActionLink(...)"></a>
actionlink 将返回一个我想要加载到 div 中的部分视图,因此我需要使用 ajax.actionlinks ajaxoptions 属性来执行此操作。
编辑:
我希望我的标签看起来像这样:
<a href="@Ajax.ActionLink(...)">
<span class="badge pull-right">@Convert.ToString(GPTooLowNew.Count())</span>
Gross Profit Too Low on Product Sale
</a>
【问题讨论】:
我不是特别熟悉。但我愿意接受任何形式的解决方案。 如果你想要一个 Ajax.ActionLink,那么你将它创建为@Ajax.ActionLink(...)
,它会创建 <a>
标签(而不是相反)。我建议你从this article开始
但是我如何获取生成的 标签以包含其他 html 元素,例如 标签?请参阅编辑...
你不能(除非你想创建自己的 html 助手)。您可以创建自己的 html 元素,然后使用 javascript/jquery 处理 <a>
标签单击事件以提供与 @Ajax.ActionLink()
相同的功能,或者您可以使用 javascript/jquery to append 新元素到 <a>
标签
【参考方案1】:
当你使用ajax
这是javascript
的方法:
window.onload=function()
var links=document.getElementsByTagName("a");
for(var i=0;i<links.length;i++)
var link=links[i];
var href=link.getAttribute("href").toString();
link.setAttribute("href","@Ajax.ActionLink('"+href+"')"); // Assuming Ellipses are the href parameter passed to Ajax.ActionLink(...) function.
;
把这个包裹在</head> ... <script type='text/javascript'> Code Here </script>...</head>
里面
希望能帮助到你。干杯:)。
如果你使用Jquery,那就更简单了。
【讨论】:
感谢您的回复。虽然没有工作。获取 System.ArgumentException。方法“ActionLink”没有重载需要 1 个参数。 试试把link.setAttribute("href","@Ajax.ActionLink('"+href+"')");
改成link.setAttribute("href","@Ajax.ActionLink()");
希望对你有帮助
这将创建类似(取决于选项)<a href="<a data-ajax="true" data-ajax-method="GET" data-ajax-mode="replace" data-ajax-update="#CustomerList" href="/Home/Germany">Customer from Germany</a>"></a>
的内容。对我来说毫无意义,当然对浏览器也没有意义!以上是关于使 html 链接 href 属性等于 Ajax.ActionLink的主要内容,如果未能解决你的问题,请参考以下文章